整合mybatis-示例

引入依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>ssm-mybatis</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>ssm-mybatis</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.6.RELEASE</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.7</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.16</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>RELEASE</version> <scope>compile</scope> </dependency> </dependencies> </project>
jdbc.properties
jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/yeb?serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=root
mybatis核心配置文件:mybatis-config.xml
<?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"> <configuration> <!--引入properties文件,此后就可以在当前文件中使用${key}的方式访问value--> <properties resource="jdbc.properties"></properties> <!-- typeAliases:设置类型别名,即为某个具体的类型设置一个别名, 在mybatis的范围中,就可以使用别名表示一个具体的类型。 --> <typeAliases> <!--不使用alias属性设置别名,默认为类名,不区分大小写。User或user--> <!-- <typeAlias type="org.example.entity.User" alias="user"></typeAlias>--> <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写--> <package name="org.example.entity"/> </typeAliases> <!-- environments数据库环境配置 --> <!-- 和Spring整合后environments配置将被废除 --> <environments default="development"> <environment id="development"> <!-- 使用JDBC事务管理 --> <transactionManager type="JDBC"/> <!-- 数据库连接池 --> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <!-- 加载映射文件 --> <mappers> <!--<mapper resource="mappers/UserMapper.xml"></mapper>--> <!-- 以包的方式引入映射文件,但是必须满足下面2个条件: 1.mapper接口和映射文件所在的包必须一致 2.mapper接口的名字和映射文件的名字一致 --> <package name="org.example.mapper"/> </mappers> </configuration>
创建mapper映射文件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"> <mapper namespace="org.example.mapper.UserMapper"> <insert id="addUser"> insert into t_user values (null,'tom',20,'男','123123@qq.com'); </insert> </mapper>
测试代码
package org.example; 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.example.mapper.UserMapper; import org.junit.jupiter.api.Test; import java.io.IOException; import java.io.InputStream; public class TestCase { @Test public void testAddUser() throws IOException { //获取核心配置文件的输入流 InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); //获取SqlSessionFactoryBuilder对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); //获取SqlSessionFactory对象 SqlSessionFactory build = sqlSessionFactoryBuilder.build(is); //获取sql的会话对象sqlSession,是mybatis提供的操作数据库的对象 SqlSession sqlSession = build.openSession(true);//设为true表示自动提交事务 //获取UserMapper的代理实现类对象 UserMapper mapper = sqlSession.getMapper(UserMapper.class); mapper.addUser(); sqlSession.close(); } }
执行成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律