mybatis的mapper代理方法开发实现用户的增删改查
来源:互联网 发布:打车软件司机版 编辑:程序博客网 时间:2024/06/08 03:29
思路
程序员只需要写mapper接口(相当于dao接口)
mapper代理开发规范
1.程序员还需要编写mapper.xml映射文件
2.程序员编写mapper接口需要遵循一些开发规范,mybatis可以自动生成mapper接口实现类代理对象。
开发规范:
1、在mapper.xml中namespace等于mapper接口地址
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离 注意:使用mapper代理方法开发,namespace有特殊重要的作用,namespace等于mapper接口地址--><mapper namespace="cn.itcast.mybatis.mapper.UserMapper"></mapper>
2、mapper.java接口中的方法名和mapper.xml中statement的id一致
3、mapper.java接口中的方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致。
4、mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致。
例如:
<!-- 在 映射文件中配置很多sql语句 --> <!-- 需求:通过id查询用户表的记录 --> <!-- 通过 select执行数据库查询 id:标识 映射文件中的 sql 将sql语句封装到mappedStatement对象中,所以将id称为statement的id parameterType:指定输入 参数的类型,这里指定int型 #{}表示一个占位符号 #{id}:其中的id表示接收输入 的参数,参数名称就是id,如果输入 参数是简单类型,#{}中的参数名可以任意,可以value或其它名称 resultType:指定sql输出结果 的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象。 --> <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User"> SELECT * FROM USER WHERE id=#{value} </select>
对应的mapper接口中的定义:
//根据id查询用户信息 public User findUserById(int id) throws Exception;
总结:
以上开发规范主要是对下边类型的代码进行统一生成,也就是对原始dao开发的简化,去掉了一些模板代码等。
User user = sqlSession.selectOne(“test.findUserById”, id);
sqlSession.insert(“test.insertUser”, user);
…………
具体代码实现
UserMapper.java
public interface UserMapper { //根据id查询用户信息 public User findUserById(int id) throws Exception;}
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!-- namespace命名空间,作用就是对sql进行分类化管理,理解sql隔离 注意:使用mapper代理方法开发,namespace有特殊重要的作用,namespace等于mapper接口地址--><mapper namespace="cn.itcast.mybatis.mapper.UserMapper"><!-- 在 映射文件中配置很多sql语句 --> <!-- 需求:通过id查询用户表的记录 --> <!-- 通过 select执行数据库查询 id:标识 映射文件中的 sql 将sql语句封装到mappedStatement对象中,所以将id称为statement的id parameterType:指定输入 参数的类型,这里指定int型 #{}表示一个占位符号 #{id}:其中的id表示接收输入 的参数,参数名称就是id,如果输入 参数是简单类型,#{}中的参数名可以任意,可以value或其它名称 resultType:指定sql输出结果 的所映射的java对象类型,select指定resultType表示将单条记录映射成的java对象。 --> <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User"> SELECT * FROM USER WHERE id=#{value} </select> </mapper>
在SqlMapConfig.xml中加载mapper.xml
<mappers> <!--通过resource方法一次加载一个映射文件 --> <mapper resource="mapper/UserMapper.xml"/> </mappers>
测试
@Test public void testFindUserById() throws Exception { SqlSession sqlSession = sqlSessionFactory.openSession(); //创建UserMapper对象,mybatis自动生成mapper代理对象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //调用userMapper的方法 User user = userMapper.findUserById(1); System.out.println(user); }
0 0
- mybatis的mapper代理方法开发实现用户的增删改查
- Mybatis mapper代理开发方法实现增删改查
- mybatis mapper代理方法实现单表的增删改查
- mybatis原始dao开发实现用户的增删改查
- mybatis--增删查改的基本mapper的xml配置
- mybatis的增删查改之通用Mapper
- [MyBatis] Mapper XML实现简单的增删改查(三)
- Mybatis实现jdbc的增删改查方法
- MyBatis的增删改查方法
- mybatis ---- 实现数据的增删改查
- mybatis实现的增删改查例子
- Mybatis实现表单的增删改查
- Mybatis 实现共通的增删改查
- MyBatis实现数据的增删查改
- Mybatis实现数据的增删改查
- Mybatis实现简单的增删改查
- Mybatis原生dao开发方法实现增删改查
- mybatis的增删查改
- R3获取kernel32地址
- 关于IDE选择的一些思考
- ubuntu下配置cuteFTP
- flume 的source 、channel和sink 多种组合
- Android Task的应用
- mybatis的mapper代理方法开发实现用户的增删改查
- BNUOJ 33992 Lights Against Dudely(dfs)
- XML语法学习
- Android Studio 升级 2.4 支持Lambda表达式。
- 三次握手 四次挥手
- Android中的intent详解
- 数据结构的串的顺序存储的基本操作(学习历程)
- 欢迎使用CSDN-markdown编辑器
- 解决分布式系统的一致性问题,我们需要了解哪些理论?