mybatis框架(入门方法,dao层原始开发方法,mapper代理开发)(sqlserver数据库)

Posted miwujun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis框架(入门方法,dao层原始开发方法,mapper代理开发)(sqlserver数据库)相关的知识,希望对你有一定的参考价值。

1.入门方法

第一步:mybatis全局环境配置  configurs.xml  

修改数据库接口信息

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=JSP" />
<property name="username" value="sa" />
<property name="password" value="5201314" />
<property name="poolMaximumActiveConnections" value="50" />
</dataSource>
</environment>
</environments>

<!-- 加载mapper文件 -->
<mappers>
<mapper resource="./map/select.xml" />
</mappers>

</configuration>

 

第二步:编写映射文件   map.xml

1.mapper中的namespace在一般使用和dao层原始开发可以随意起名,在mapper代理有特殊要求

2.parameterType,输入占位符的类型

3.#{} 占位符,里面的名字随意,输出类型为javabean类型时,里面的参数名字等于javabean的属性名

4.resultType,输出类型

5.map.xml需要在 configurs.xml  文件中的<mappers>标签中声明

 

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="test" >

<!--查询 -->
<select id="selectUser" parameterType="String" resultType="JavaBean.information">
select * from information where id= #{id}
</select>
<!-- 删除 -->
<delete id="DeleteUsre" parameterType="String">
delete from information where id=#{deleteid}
</delete>
<!-- 插入 -->
<insert id="InsertUser" parameterType="JavaBean.information">
insert into information(id,name,tel,acc,pass) values(#{id},#{name},#{tel},#{acc},#{pass})
</insert>
</mapper>

 

第三步:建java类,用会话工厂操作映射文件

关键代码:

//configurs.xml的位置
String res="mybatisconfigurs/mybatis.xml";

InputStream inp= Resources.getResourceAsStream(res);
//建立工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inp);

SqlSession session = factory.openSession();

 

 

查询用户方法的代码:

//查询用户
public information selectuesr(String id) throws IOException {

//configurs.xml的位置
String res="mybatisconfigurs/mybatis.xml";

InputStream inp= Resources.getResourceAsStream(res);
//建立工厂
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inp);

SqlSession session = factory.openSession();

information inf= session.selectOne("test.selectUser", id);//map.xml namespacec+SQLid

session.commit();

session.close();

return inf;

}

 

2.dao层原始开发

一:编写dao接口

package dao;

import JavaBean.information;

public interface dao {
//查询用户
public information SelestUser(String id);
//添加用户
public void InsertUser(information inf);
//删除用户
public void DeleteUser(String id);

}

 

二:编写接口类

package dao;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;

import JavaBean.information;

public class usedao implements dao{

SqlSessionFactory factory;

public usedao( SqlSessionFactory factory) {
this.factory=factory;
}

//查询用户
public information SelestUser(String id) {
SqlSession session = factory.openSession();
information inf= session.selectOne("test.selectUser", id);
session.commit();
session.close();
return inf;

}

@Override
public void InsertUser(information inf) {
SqlSession session = factory.openSession();

session.insert("test.InsertUser", inf);

session.commit();

session.close();

System.out.println("插入成功");

}

@Override
public void DeleteUser(String id) {

SqlSession session = factory.openSession();

session.delete("test.DeleteUsre", id);

session.commit();

session.close();

System.out.println("删除成功");

}

}

 

三:使用接口类

提供工厂实类

String res="mybatisconfigurs/mybatis.xml";

InputStream inp= Resources.getResourceAsStream(res);

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inp);

 

 

 

 

 

package dao;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import JavaBean.information;

public class test {
public static void main(String[] args) throws IOException {

String res="mybatisconfigurs/mybatis.xml";

InputStream inp= Resources.getResourceAsStream(res);

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inp);

usedao dao=new usedao(factory);

dao.DeleteUser("445201199901100075");






}

}

3.mapper动态代理

4大规范

映射文件map.xml中的<mapper namespace="mapper.usemap" >   namespace=dao接口类的位置

dao接口类的方法的方法名于SQLid一样

dao接口类的方法返回类型于SQL一样

dao接口类的方法参数于SQL一样

一.编写映射文件

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper PUBLIC
"-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="mapper.usemap" >

<!--查询 -->
<select id="SelectUser" parameterType="String" resultType="JavaBean.information">
select * from information where id= #{id}
</select>
</mapper>

二.编写接口类

package mapper;

import JavaBean.information;

public interface usemap {


public information SelectUser(String id)throws Exception;

}

三. 使用接口类

package dao;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import JavaBean.information;

public class test {
public static void main(String[] args) throws IOException {

String res="mybatisconfigurs/mybatis.xml";

InputStream inp= Resources.getResourceAsStream(res);

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inp);

usedao dao=new usedao(factory);


}

}

 

以上是关于mybatis框架(入门方法,dao层原始开发方法,mapper代理开发)(sqlserver数据库)的主要内容,如果未能解决你的问题,请参考以下文章

mybatis框架入门

mybatis入门:jdbc的缺点

MyBatis学习03原始dao开发方法及其弊端

Mybatis笔记 - 原始Dao开发方法

框架 day65 Mybatis入门(基础知识:框架原理,入门[curd],开发dao层,全局与映射配置)

MyBatis——Dao层开发总结