MyBatis动态代理的方式DAO开发设置
2018-01-07 23:29
302 查看
SqlMapConfig.xml配置文件1
UserMapper.xml 文件配置
测试类:
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象;
Mapper接口开发需要遵循以下规范:
1、 Mapper.xml文件中的namespace与mapper接口的类路径相同。
2、 Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
4、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
<?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> <!-- 和spring整合后 environments配置将废除 --> <environments default="development"> <environment id="development"> <!-- 使用jdbc事务管理 --> <transactionManager type="JDBC" /> <!-- 数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver" /> <property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </dataSource> </environment> </environments> <!-- 加载映射文件 --> <mappers> <mapper class="com.test.dao.UserMapper"/> </mappers> </configuration>
UserMapper.xml 文件配置
<?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"> <!-- namespace:命名空间,用于隔离sql,还有一个很重要的作用,后面会讲 --> <mapper namespace="com.test.dao.UserMapper"> <!-- id:statement的id 或者叫做sql的id--> <!-- parameterType:声明输入参数的类型 --> <!-- resultType:声明输出结果的类型,应该填写pojo的全路径 --> <!-- #{}:输入参数的占位符,相当于jdbc的? --> <select id="queryUserById" parameterType="int" resultType="com.test.pojo.User"> select * from user where id = #{id} </select> </mapper>
测试类:
@Test public void testQueryUserById() throws IOException { // 2.需要创建sessionFactory对象,则需要new一个SessionFactoryBuilder对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();// 3.new一个builder对象 InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");// 5.利用ibatis.io包下的方法 SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(resourceAsStream);// 4.需要一个InputStreat对象 // 1.测试程序的目的是获得session,需要从sessionFactory里获得一个session SqlSession openSession = sqlSessionFactory.openSession(); // do something UserMapper userMapper = openSession.getMapper(UserMapper.class); User user = userMapper.queryUserById(1); System.out.println(user); openSession.close(); }
Mapper接口开发方法只需要程序员编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象;
Mapper接口开发需要遵循以下规范:
1、 Mapper.xml文件中的namespace与mapper接口的类路径相同。
2、 Mapper接口方法名和Mapper.xml中定义的每个statement的id相同
3、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
4、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
相关文章推荐
- MyBatis学习记录(3):Mapper动态代理方式开发DAO
- mybatis3整合spring4-采用mapper动态代理的方式开发Dao
- Mybatis(二)— 使用Mapper动态代理方式进行开发
- Mybatis基于接口代理的方式来开发Dao(一)
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- Java EE开发平台随手记5——Mybatis动态代理接口方式的原生用法
- 基于mapper的动态代理的开发方式——MyBatis的第二种开发方式
- myBatis中原始dao开发方式与Mapper代理方式
- mybatis之入门到开发(四)之 Mapper动态代理方式
- 原始dao和Mapper动态代理的开放方式---Mybatis学习笔记(六)
- Mybatis框架学习二——DAO开发方式和Mapper代理的开发方式
- mybatis--开发Dao--原始dao方式和Mapper代理方式
- 关于Mybatis的Dao动态代理多种传参方式
- Mybatis基于接口代理的方式来开发Dao(二)
- Mybatis 动态代理方式开发 Demo
- 后台(36)——MyBatis的原始Dao开发方式
- 02.MyBatis在DAO层开发使用的Mapper动态代理方式
- Mybatis入门基础(二)--原始dao的开发和mapper代理开发
- Mybatis框架三:DAO层开发、Mapper动态代理开发
- 【MyBatis学习04】mapper代理方法开发dao