mybatis mapper代理

来源:互联网 发布:3m互助系统源码 编辑:程序博客网 时间:2024/06/03 18:00

使用mapper代理需要遵循一定的规范

1、在mapper.xml中namespace等于mapper接口全限定名

<mapper namespace="mapper.UserMapper">

2、mapper.xml中的statement  id和mapper接口中的方法名一致

3、mapper.xml中的statement parameterType和mapper接口中的参数类型一致

4、mapper.xml中的statement resultType和mapper接口中的返回类型一致

<pre name="code" class="html"><?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.UserMapper"><select id="findUserById" parameterType="int" resultType="model.User">Select * from users where id = #{id}</select></mapper>


<pre name="code" class="html">package mapper;import model.User;public interface UserMapper {public User findUserById(Integer id) throws Exception;}


sqlmapconfig配置文件

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL Map Config 3.0//EN"  "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 这个为没有与其他框架进行整合的配置方式,与其他框架整合后配置方式不同 --><environments default="development"><environment id="development"><!-- 使用JDBC事务管理 --><transactionManager type="JDBC"></transactionManager><!-- 数据库连接池 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/test?characterEncoding=gbk"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments><mappers><!-- <mapper resource="mapper/User.xml"/> --><mapper resource="mapper/UserMapper.xml"/></mappers></configuration>

test类

@Testpublic void findUserById() throws Exception{//sqlMapConfig的位置和名称String resource = "sqlMapConfig.xml";//获取sqlMapConfig配置文件流InputStream inputstream = Resources.getResourceAsStream(resource);//获得SqlSessionFactory工厂SqlSessionFactory factory =new  SqlSessionFactoryBuilder().build(inputstream);SqlSession session = factory.openSession();UserMapper userMapper = session.getMapper(UserMapper.class);User user = userMapper.findUserById(3);System.out.println(user);}


0 0
原创粉丝点击