Mybatis快速入门(2)Dao封装-属性加载:抽取JDBC-别名的配置-映射器(mappers)
发布日期:2021-06-29 15:03:28 浏览次数:3 分类:技术文章

本文共 4560 字,大约阅读时间需要 15 分钟。

一、需求

根据用户ID查询用户信息

根据用户名查找用户列表
添加用户

二、原始Dao的开发方式

1、创建Dao/UserDao接口

在这里插入图片描述

package com.itzheng.mybatis.dao;import java.util.List;import com.itzheng.mybatis.pojo.User;public interface UserDao {
// 根据用户ID查询用户信息 /* * 用户信息持化接口 */ User getUserById(Integer id); // 根据用户名查找用户列表 List
getUserByUserName(String userName); // 添加用户 void insertUser(User user);}

2、创建接口对应的实现类

在这里插入图片描述

public class UserDaoImpl implements UserDao {
@Override public User getUserById(Integer id) {
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(); User user = sqlSession.selectOne("user.getUserByid", id); sqlSession.close(); return user; } @Override public List
getUserByUserName(String userName) {
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(); List
selectList = sqlSession.selectList("user.getUserByUserName", userName); sqlSession.close(); return selectList; } @Override public void insertUser(User user) {
SqlSession sqlSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(true);// true自动提交 sqlSession.insert("user.insertUser", user); sqlSession.close(); }}

3、创建单元测试

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

(1)通过id查询用户

在这里插入图片描述

@Test	public void testGetUserById() {
UserDao userDao = new UserDaoImpl(); User user = userDao.getUserById(30); System.out.println(user); }
(2)通过name查询用户

在这里插入图片描述

@Test	public void testGetUserByUserName() {
UserDao userDao = new UserDaoImpl(); List
userByUserName = userDao.getUserByUserName("张"); for (User user : userByUserName) {
System.out.println(user); } }

在这里插入图片描述

(3)插入用户

在这里插入图片描述

@Test	public void testInsertUser() {
UserDao userDao = new UserDaoImpl(); User user = new User(); user.setUsername("张飞1111"); user.setSex("2"); user.setBirthday(new Date()); user.setAddress("深圳黑马"); userDao.insertUser(user); }

在这里插入图片描述

在这里插入图片描述

三、官方推荐,接口动态代理

通过动态代理的方式有实现类但是不需要自己手动去写

1、创建UserMapper接口

在这里插入图片描述

package com.itzheng.mybatis.mapper;import java.util.List;import com.itzheng.mybatis.pojo.User;public interface UserMapper {
// 根据用户ID查询用户信息 /* * 用户信息持化接口 */ User getUserByid(Integer id); // 根据用户名查找用户列表 List
getUserByUserName(String userName); // 添加用户 void insertUser(User user);}

2、创建UserMapper.xml

在这里插入图片描述

INSERT INTO USER (`username`, `birthday`, `sex`, `address`) VALUES (#{username}, #{birthday}, #{sex}, #{address});

3、修改SqlMapConfig.xml当中添加映射文件

在这里插入图片描述

4、创建单元测试

在这里插入图片描述

在这里插入图片描述

(1)根据ID查询用户

在这里插入图片描述

@Test	public void testGetUserById() {
SqlSession openSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(); // 获取接口的代理实现类 UserMapper userMapper = openSession.getMapper(UserMapper.class); User user = userMapper.getUserByid(30); System.out.println(user); openSession.close(); }

在这里插入图片描述

(2)根据name查询用户

在这里插入图片描述

@Test	public void testGetUserByUserName() {
SqlSession openSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(); // 获取接口的代理实现类 UserMapper userMapper = openSession.getMapper(UserMapper.class); List
list = userMapper.getUserByUserName("张"); for (User user : list) {
System.out.println(user); } openSession.close(); }
(3)插入用户

在这里插入图片描述

@Test	public void testInsertUser() {
SqlSession openSession = SqlSessionFactoryUtils.getSqlSessionFactory().openSession(true); // 获取接口的代理实现类 UserMapper userMapper = openSession.getMapper(UserMapper.class); User user = new User(); user.setUsername("张飞1111"); user.setSex("2"); user.setBirthday(new Date()); user.setAddress("深圳黑马"); userMapper.insertUser(user); openSession.close(); }

在这里插入图片描述

四、属性加载:抽取JDBC

1、创建jdbc.properties

在这里插入图片描述

2、修改SqlMapConfig.xml,在SqlMapConfig.xml当中引入jdbc.properties

在这里插入图片描述

五、别名的配置:typeAliases

别名的作用将复杂的数据用其他的名称简单的代替

1、mybatis支持的别名:

在这里插入图片描述

在这里插入图片描述

2、自定义别名:方式一,配置对应的类的别名

(1)修改SqlMapConfig.xml

在这里插入图片描述

(2)修改UserMapper.xml,在UserMapper.xml当中引用别名:别名不区分大小写

在这里插入图片描述

3、自定义别名:方式二,配置包别名,默认别名就是类名称不区分大小写

(1)修改SqlMapConfig.xml:别名包扫描器:别名是类的全称,不区大小写

在这里插入图片描述

(2)UserMapper.xml当中直接使用类名就OK

在这里插入图片描述

六、映射器(mappers)

Mapper配置的几种方式:

在这里插入图片描述

1、将UserMapper.xml复制到mapper文件下

2、修改SqlMapConfig.xml:方式一:类配置

1、接口文件必须与映射文件在同一个目录下

2、接口文件的名称必须与映射文件的名称一致
在这里插入图片描述

3、修改SqlMapConfig.xml:方式二:包扫描->推荐

1、接口文件必须与映射文件在同一个目录下

2、接口包文件的名称必须与映射文件的名称一致
在这里插入图片描述

转载地址:https://code100.blog.csdn.net/article/details/113404672 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android快速入门-----数据存储(一)SharedPreferences存储,手机内部file存储,手机外部file存储:SD卡外部file存储
下一篇:IBM中国研究院全面关闭!网友感慨:还是搞不赢996公司……

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月05日 07时40分55秒