【Mybatis】快速入门
1.1原始JDBC操作数据
1.2原始JDBC操作数据的分析
1.3Mybatis介绍
2.1mybatis开发步骤
MyBatis官网地址:http://www.mybatis.org/mybatis-3/
2.2开发步骤
2.2.1导入mybatis坐标和其他坐标
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-in[stance"](http://maven.apache.org/POM/4.0.0)
xsi:schemaLocation="http://maven.apache.org/PO[M/4.0.0 http://maven.apache.org/x](http://maven.apache.org/POM/4.0.0)sd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>mybatis-quick</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source[>](http://maven.apache.org/POM/4.0.0)
<maven.compiler.target>8</maven.compiler.target[>](http://maven.apache.org/POM/4.0.0)
</properties>
<dependencies>
<!--mybatis坐标-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactI[d>](http://maven.apache.org/POM/4.0.0)
<version>5.1.46</version>
<scope>runtime</scope>
</dependency>
<!--单元测试-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<!--日志坐标-->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
</project>
2.2.2创建User表,编写User实体
package top.plutos.pojo;
public class User {
private int id;
private String username;
private String password;
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
2.2.3编写UserMapper.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.[dtd">](http://mybatis.org/dtd/mybatis-3-mapper.dtd)
<mapper namespace="userMapper">
<select id="findAll" resultType="top.plutos.pojo.User" >
select *from user;
</select>
</mapper>
2.2.4编写mybatis核心配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.[dtd">](http://mybatis.org/dtd/mybatis-3-config.dtd)
<configuration>
<!-- 数据环境 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="sjh123"/>
</dataSource>
</environment>
</environments>
<!--加载映射文件-->
<mappers>
<mapper resource="top/plutos/mapper/UserMapper.xml"></mapper>
</mappers>
</configuration>
2.2.5 编写测试代码
package top.plutos.test;
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 top.plutos.pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest {
@Test
public void test1() throws IOException {
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得SQLSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行SQL语句
List<User> userList = sqlSession.selectList("userMapper.findAll");
//打印结果
System.out.println(userList);
//释放资源
sqlSession.close();
}
}
3.mybatis映射文件概述
4.增删改查操作
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.[dtd">](http://mybatis.org/dtd/mybatis-3-mapper.dtd)
<mapper namespace="userMapper">
<!--删除操作-->
<delete id="deleteById" parameterType="java.lang.Integer">
delete from user where id=#{id};
</delete>
<!--修改操作-->
<update id="updateById" parameterType="top.plutos.pojo.User">
update user
set username=#{username},
password=#{password} where id=#{id};
</update>
<!--查询操作-->
<select id="findAll" resultType="top.plutos.pojo.User">
select *
from user;
</select>
<!--插入操作-->
<insert id="insert" parameterType="top.plutos.pojo.User">
insert into user
values (#{id}, #{username}, #{password})
</insert>
</mapper>
测试文件
package top.plutos.test;
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 top.plutos.pojo.User;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisTest {
@Test
public void test4() throws IOException {
//模拟修改数据
int id = 5;
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得SQLSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
int delete = sqlSession.delete("userMapper.deleteById",id);
//提交事务
sqlSession.commit();
//打印结果
System.out.println(delete);
//释放资源
sqlSession.close();
}
@Test
public void test3() throws IOException {
//模拟修改数据
User user = new User();
user.setId(5);
user.setUsername("luxi");
user.setPassword("sjh123");
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得SQLSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
int update = sqlSession.update("userMapper.updateById",user);
//提交事务
sqlSession.commit();
//打印结果
System.out.println(update);
//释放资源
sqlSession.close();
}
@Test
public void test1() throws IOException {
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得SQLSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行SQL语句
List<User> userList = sqlSession.selectList("userMapper.findAll");
//打印结果
System.out.println(userList);
//释放资源
sqlSession.close();
}
@Test
public void test2() throws IOException {
//模拟插入数据
User user = new User();
user.setUsername("tom");
user.setPassword("sjh123");
//加载核心配置文件
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapConfig.xml");
//获得SQLSession工厂对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//获得sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行sql语句
int insert = sqlSession.insert("userMapper.insert",user);
//提交事务
sqlSession.commit();
//打印结果
System.out.println(insert);
//释放资源
sqlSession.close();
}
}
__EOF__

本文作者:lnnau
本文链接:https://www.cnblogs.com/wlunan/p/18538044.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/wlunan/p/18538044.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报