Mybatis快速入门(2)Dao封装-属性加载:抽取JDBC-别名的配置-映射器(mappers)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

@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

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>

<select id=“getUserByid” parameterType=“int”

resultType=“com.itzheng.mybatis.pojo.User”>

SELECT * FROM USER WHERE id = #{id1}

<select id=“getUserByUserName” parameterType=“string”

resultType=“com.itzheng.mybatis.pojo.User”>

SELECT id,username,birthday,sex,address FROM user WHERE username LIKE

‘%${value}%’

<insert id=“insertUser”

parameterType=“com.itzheng.mybatis.pojo.User” useGeneratedKeys=“true”

keyProperty=“id”>

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

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>

五、别名的配置:typeAliases


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

1、mybatis支持的别名:

在这里插入图片描述

在这里插入图片描述

2、自定义别名:方式一,配置对应的类的别名
(1)修改SqlMapConfig.xml

在这里插入图片描述

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

在这里插入图片描述

<select id=“getUserByUserName” parameterType=“string”

resultType=“user”>

SELECT id,username,birthday,sex,address FROM user WHERE username LIKE

‘%${value}%’

3、自定义别名:方式二,配置包别名,默认别名就是类名称不区分大小写
(1)修改SqlMapConfig.xml:别名包扫描器:别名是类的全称,不区大小写

在这里插入图片描述

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

在这里插入图片描述

六、映射器(mappers)


Mapper配置的几种方式:

在这里插入图片描述

1、将UserMapper.xml复制到mapper文件下
2、修改SqlMapConfig.xml:方式一:类配置

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」

更多笔记分享

35K成功入职:蚂蚁金服面试Java后端经历!「含面试题+答案」
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
g-blog.csdnimg.cn/20210131164854901.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0NzU3MDM0,size_16,color_FFFFFF,t_70)

1、将UserMapper.xml复制到mapper文件下
2、修改SqlMapConfig.xml:方式一:类配置

读者福利

由于篇幅过长,就不展示所有面试题了,感兴趣的小伙伴

[外链图片转存中…(img-Jk6ukU7G-1714708339950)]

[外链图片转存中…(img-yeD2B1cx-1714708339950)]

[外链图片转存中…(img-atxohu78-1714708339950)]

更多笔记分享

[外链图片转存中…(img-DIZak5nL-1714708339951)]
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 14
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值