2.mybatis的开发环境搭建
用Java开发利器idea创建一个Maven工程,引入mybatis的依赖,包括日志,lombok,数据库驱动(我这里用的MySQL)
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.10</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.36</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.49</version>
</dependency>
</dependencies>
在数据库随便创建一张表并且随便插入几条数据
建立一个实体类,跟这个表对应上,直接上代码:
package com.bky.entity;
import java.io.Serializable;
import lombok.Data;
/**
*
* @TableName student
*/
@Data
public class Student implements Serializable {
/**
* 主键id,自动自增
*/
private Long id;
/**
* 姓名
*/
private String username;
/**
* 性别
*/
private String gender;
private static final long serialVersionUID = 1L;
}
新建一个接口,这个接口主要用来对数据库的crud,上代码:
public interface StudentMapper {
}
还要新建一个接口所对应的xml映射文件,这个文件里面就是上面接口里面方法的实现,当然肯定是用sql来实现的。而且这个xml文件的位置要和这个接口同一个包,并且名称要跟接口名称相同
StudentMapper.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">
<!--这里的namespace取值就是接口全限定类目-->
<mapper namespace="com.bky.mapper.StudentMapper">
</mapper>
好的。到此为止,我们将操作数据库的接口和对应的实现(xml)已经绑定起来了。接下来,我们还少一个非常重要的配置文件,这个配置文件主要用来连接数据库,并且告知mybatis,我们的操作数据库的接口在什么地方,对应的实体类(Studentd)在什么地方。配置文件内容如下:
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>
<settings>
<!-- 运行的过程中打印sql语句-->
<setting name="logImpl" value="log4j"/>
</settings>
<!-- 数据库连接的基本信息-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!-- 这里的数据源类型,先固定这个取值,后续再弄复杂的-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mydb3?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="Shw@root"/>
</dataSource>
</environment>
</environments>
<!-- 操作数据库的mapper接口(StudentMapper)所在的包-->
<mappers>
<package name="com.bky.mapper"/>
</mappers>
</configuration>
为了方便调试,我们还要通过日志打印sql语句,之前已经引入日志依赖了,那么还要建立一个日志配置文件log4j.properties
log4j.rootLogger=debug,console,logFile
log4j.additivity.org.apache=true
log4j.logger.org.mybatis=INFO
log4j.logger.java.sql=INFO
log4j.logger.java.sql.Statement=INFO
log4j.logger.java.sql.ResultSet=INFO
log4j.logger.java.sql.PreparedStatement=INFO
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=debug
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile=org.apache.log4j.FileAppender
log4j.appender.logFile.Append=true
log4j.appender.logFile.File=D:/logs/log.log4j
log4j.appender.logFile.layout=org.apache.log4j.PatternLayout
log4j.appender.logFile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%t] [%c] [%p] -%m%n
好的,以上准备工作结束。我来截个图给大家看看。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构