}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
@Override
public String toString() {
return “User [id=” + id + “, username=” + username + “, sex=” + sex + “, birthday=” + birthday + “, address=”
- address + “]”;
}
}
6.配置sql查询的映射文件
创建user.xml
7.SqlMapConfig.xml当中加载映射文件
三、完成需求(增删改查)
1、根据用户ID查询用户信息
(1)编写SQL语句
SELECT id,
username,
birthday,
sex,
address
FROM user
WHERE id = 1
(2)配置user映射文件:修改user.xml
SELECT * FROM USER WHERE id = #{id1}
(3)编写测试程序:创建MybatisTest类
package com.itzheng.mybatis.test;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import com.itzheng.mybatis.pojo.User;
public class MybatisTest {
@Test
public void testGetUserById() throws IOException {
// 加载配置文件,创建SqlSessionFactoryBuilder
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
// 创建核心配置文件的输入流
InputStream inputStream = Resources.getResourceAsStream(“SqlMapConfig.xml”);
// 通过输入流创建sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = ssfb.build(inputStream);
// 创建SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
// 执行查询,参数一SQL id 参数二,入参
User user = (User) sqlSession.selectOne(“user.getUserByid”, 1);
//输出查询到的对象
System.out.println(user);
//释放资源
sqlSession.close();
}
}
2、根据用户名模糊查询用户列表
方式一
(1)编写SQL语句
SELECT id,
username,
birthday,
sex,
address
FROM user
WHERE username LIKE ‘%张%’
(2)配置user映射文件:修改user.xml
SELECT id,username,birthday,sex,address FROM user
WHERE username LIKE #{name}
(3)编写测试程序:创建SqlSessionFactoryUtils抽取加载配置文件以及查询数据库的内容
package com.itzheng.mybatis.jdbc.utils;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
/*
- SqlSessionFactory工具类
*/
public class SqlSessionFactoryUtils {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
// 加载配置文件,创建SqlSessionFactoryBuilder
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
// 创建核心配置文件的输入流
InputStream inputStream;
inputStream = Resources.getResourceAsStream(“SqlMapConfig.xml”);
// 通过输入流创建sqlSessionFactory对象
sqlSessionFactory = ssfb.build(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/*
- 获取sqlSessionFactory
*/
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
(4) 在SqlSessionFactoryUtils当中的testGetUserByUserName()方法,方式一
@Test
public void testGetUserByUserName() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession openSession = sqlSessionFactory.openSession();
List selectList = openSession.selectList(“user.getUserByUserName”, “%张%”);
for (User user : selectList) {
System.out.println(user);
}
// 释放资源
openSession.close();
}
方式二
(1)修改user.xml :使用字符串拼接指令${}
:字符串拼接指令,如果入参为普通数据类型{}内部只能写value
(2)修改MybatisTest的testGetUserByUserName方法
@Test
public void testGetUserByUserName() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession openSession = sqlSessionFactory.openSession();
//List selectList = openSession.selectList(“user.getUserByUserName”, “%张%”);
List selectList = openSession.selectList(“user.getUserByUserName”, “张”);
for (User user : selectList) {
System.out.println(user);
}
// 释放资源
openSession.close();
}
3、mybatis入门
(1)编写SQL语句
INSERT INTO user
(id,
username,
birthday,
sex,
address )
VALUES
(‘id’,
‘username’,
‘birthday’,
‘sex’,
‘address’ );
(2)配置user映射文件:修改user.xml
INSERT INTO USER
(username
,
birthday
,
sex
,
address
)
VALUES (#{username},
#{birthday},
#{sex},
#{address});
(3)编写测试程序:MybatisTest当中创建testInsertUser方法
@Test
public void testInsertUser() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
User user = new User();
user.setSex(“1”);
user.setBirthday(new Date());
user.setUsername(“张飞”);
user.setAddress(“四川”);
sqlSession.insert(“user.insertUser”, user);
//提交事务
sqlSession.commit();
// 释放资源
sqlSession.close();
}
插入成功
(4)将sqlSessionFactory.openSession(true);设置为true自动提交事务
4、插入用户,返回主键
返回主键:方式一
(1)修改user.xml
(2)MybatisTest
@Test
public void testInsertUser() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(true);// 设置为true自动提交事务
User user = new User();
user.setSex(“1”);
user.setBirthday(new Date());
user.setUsername(“张飞4”);
user.setAddress(“四川”);
sqlSession.insert(“user.insertUser”, user);
System.out.println(user);// 输出数控影响的行数
// 提交事务
// sqlSession.commit();
// 释放资源
sqlSession.close();
}
返回主键:方式二
(1)修改user.xml:替代了SQL语句并返回了int类型的值,到User的id当中
<insert id=“insertUser” parameterType=“com.itzheng.mybatis.pojo.User”
useGeneratedKeys=“true” keyProperty=“id”>
(2)MybatisTest当中的testInsertUser方法得到结果
5、插入用户,uuid使用
a、修改user的表结构
b、修改User类
private String uuid2;
public String getUuid2() {
return uuid2;
}
public void setUuid2(String uuid2) {
this.uuid2 = uuid2;
}
c、修改user.xml
创建新的插入数据库的规则
d、在MybatisTest当中添加testInsertUserUUID方法
@Test
public void testInsertUserUUID() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(true);// 设置为true自动提交事务
User user = new User();
user.setSex(“1”);
user.setBirthday(new Date());
user.setUsername(“张飞7”);
user.setAddress(“四川”);
sqlSession.insert(“user.insertUserUUID”, user);
System.out.println(user);// 输出数控影响的行数
// 提交事务
// sqlSession.commit();
// 释放资源
sqlSession.close();
}
6、修改用户
(1)修改user.xml
UPDATE user
SET
username
= #{username}
WHERE
id
= #{id} ;
(2)在MybatisTest当中添加testUpdateUser方法
@Test
public void testUpdateUser() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(true);// 设置为true自动提交事务
User user = new User();
user.setId(30);
user.setUsername(“张角”);
sqlSession.insert(“user.updateUser”, user);
// 提交事务
// sqlSession.commit();
// 释放资源
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
E
id
= #{id} ;
(2)在MybatisTest当中添加testUpdateUser方法
@Test
public void testUpdateUser() {
// 获取sqlSessionFactory
SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory();
// 创建SqlSession
SqlSession sqlSession = sqlSessionFactory.openSession(true);// 设置为true自动提交事务
User user = new User();
user.setId(30);
user.setUsername(“张角”);
sqlSession.insert(“user.updateUser”, user);
// 提交事务
// sqlSession.commit();
// 释放资源
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
[外链图片转存中…(img-FMB6tddl-1725494548102)]
[外链图片转存中…(img-m8x3HQ9S-1725494548102)]
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0