Mybatis快速入门(1)工程搭建+增删改查

}

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

在这里插入图片描述

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
7.SqlMapConfig.xml当中加载映射文件

在这里插入图片描述

三、完成需求(增删改查)
1、根据用户ID查询用户信息
(1)编写SQL语句

SELECT id,

username,

birthday,

sex,

address

FROM user

WHERE id = 1

(2)配置user映射文件:修改user.xml

在这里插入图片描述

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值