使用mapper接口改进持久层开发————6
来源:互联网 发布:华为手机数据恢复中心 编辑:程序博客网 时间:2024/06/13 23:31
mapper 接口开发:
第一步:定义mapper.xml
第二步:定义mapper 接口
public interface UserMapper {//增删改查的方法 public User selectUserById(int id) throws Exception; public List<User> selectUserList() throws Exception; public void insertUser(User user) throws Exception; public void updateUser(User user) throws Exception; public void deleteUser(int id) throws Exception;}
第三步:修改namespaceMapper.xml映射文件中的namepace改为如下:
//是mapper接口的地址<mapper namespace="cn.UserMapper">
第四步:通过mapper接口调用statement
public class UserMapperTest extends TestCase {
private SqlSessionFactory sqlSessionFactory; protected void setUp() throws Exception { //mybatis配置文件 String resource = "sqlMapConfig.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //使用SqlSessionFactoryBuilder创建sessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public void testSelectUserById() throws Exception { //获取session SqlSession session = sqlSessionFactory.openSession(); //获取mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //通过mapper接口调用statement User user = userMapper.selectUserById(1); System.out.println(user); //关闭session session.close(); }
public void testSelectUserList() throws Exception { //获取session SqlSession session = sqlSessionFactory.openSession(); //获取mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //通过mapper接口调用statement List<User> list = userMapper.selectUserList(); System.out.println(list); //关闭session session.close(); }public void testInsertUser() throws Exception { //获取session SqlSession session = sqlSessionFactory.openSession(); //获限mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //要添加的数据 User user = new User(); user.setUsername("张三"); user.setBirthday(new Date()); user.setSex("1"); user.setAddress("北京市"); user.setDetail("好同志"); user.setScore(99.8f); //通过mapper接口添加用户 userMapper.insertUser(user); //提交 session.commit(); //关闭session session.close(); } public void testUpdateUser() throws Exception { //获取session SqlSession session = sqlSessionFactory.openSession(); //获限mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //要更新的数据 User user = new User(); user.setId(7); user.setUsername("李四"); user.setBirthday(new Date()); user.setSex("1"); user.setAddress("北京市"); user.setDetail("好同志"); user.setScore(99.8f); //通过mapper接口调用statement userMapper.updateUser(user); //提交 session.commit(); //关闭session session.close(); } public void testDeleteUser() throws Exception { //获取session SqlSession session = sqlSessionFactory.openSession(); //获限mapper接口实例 UserMapper userMapper = session.getMapper(UserMapper.class); //通过mapper接口删除用户 userMapper.deleteUser(6); //提交 session.commit(); //关闭session session.close(); }}
session.getMapper(UserMapper.class)生成一个代理对象作为UserMapper的接口实现对象。
总结:
使用mapper接口不用写接口实现类即可完成数据库操作,简单方便,此方法为官方推荐方法。
使用mapper接口调用必须遵守如下四个规范:
1、 Mapper接口方法名和mapper.xml中定义的每个sql的id相同
2、 Mapper接口方法的输入参数类型和mapper.xml中定义的每个sql 的parameterType的类型相同
3、 Mapper接口方法的输出参数类型和mapper.xml中定义的每个sql的resultType的类型相同
4、 Mapper.xml文件中的namespace即是mapper接口的类路径。
至此,mybatis的mapper包括mapper.xml和mapper接口两种文件。
阅读全文
0 0
- 使用mapper接口改进持久层开发————6
- 第五章 征服数据库(Spring对DB的使用)——开发持久层
- Mybatis-Dao层开发之Mapper接口
- mybatis入门(三)——Mapper代理开发替代传统DAO层开发
- mybatis——使用mapper代理开发方式
- 我的持久层——MyPersistance
- 数据持久层之——MyBatis
- MyBatis基础(二)—持久层开发的两种方法
- QT开发(四十八)——数据库SQL接口层
- QT开发(四十九)——数据库用户接口层
- 《深入浅出Hibernate》读书笔记(5)——持久层操作
- 《深入浅出Hibernate》读书笔记(5)——持久层操作
- 菜鸟学习Hibernate——持久层框架
- 知识库系统源代码——持久层(JDBC)
- Java学习笔记08——持久层框架Hibernate
- Java学习笔记09——持久层框架MyBatis
- Mybatis(二)— 使用Mapper动态代理方式进行开发
- 使用Akka持久化——持久化与快照
- android的隐式意图
- 一致性HASH算法详解
- 51nod 1091 线段的重叠(贪心)
- 2017 ACM/ICPC Asia Regional Shenyang Online 1008 transaction transaction transaction
- 第4周项目1- 建立单链表
- 使用mapper接口改进持久层开发————6
- 【Unity】Fly Bird(游戏实战)(1)
- 简易日历 2
- zhaoshangwangke面试题
- 数据结构第二周项目--体验复杂度之汉诺塔
- 【Android】直接构造BpBinder(handle)进行binder通信猜想
- BZOJ 2683: 简单题(CDQ分治)
- 03 Button对象的事件
- KKT条件