一:概念
1、Mybatis 基于java的持久层框架,它的内部封装了JDBC,让开发人员只需要关注SQL语句本 身,不需要花费精力在驱动的加载、连接的创 建、Statement的创建等复杂的过程。
2、Mybatis
通过
XML
或注解的方式将要执行的各种的
statement
配置起来,并通过
java
对象 和
statement
中的
sql
的动态参数进行映射生成最终执 行的SQL
语句,最后由
mybatis
框架执 行
SQL
,并将结果直接映射为
java
对象。
3、采用了
ORM
思想
解决了实体类和数据库表映射的问题。对
JDBC
进行了封装
,屏蔽了
JDBCAPI
底层的访问细节,避免我们与
jdbc
的
api
打交 道,就能完成对数据的持久化操作。
二:基本操作
1、jdbc原来的编程模式:
public class TestJDBC {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
try {
//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mybatis?serverTimezone=GMT";
//获取连接
conn = DriverManager.getConnection(url, "root", "root");
//SQL语句
String sql = "select * from team;";
ps = conn.prepareStatement(sql);
//执行查询
rs = ps.executeQuery();
//遍历结果集
List<Team> list = new ArrayList<>();
while (rs.next()) {
Team team = new Team();
team.setTeamName(rs.getString("teamName"));
team.setTeamId(rs.getInt("teamId"));
team.setCreateTime(rs.getDate("createTime"));
team.setLocation(rs.getString("location"));
list.add(team);
}
list.forEach(team -> System.out.println(team));
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
//关闭资源
if (rs != null) {
rs.close();
}
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
2、采用myBatis进行改进
1)创建数据库
2)创建maven项目,在pom.xml中添加maven依赖
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.25</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<!--映射文件所在的目录-->
<directory>src/main/java</directory>
<!--包括目录下的.properties和.xml都会被扫描到-->
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
3)编写mybatis的配置文件myBatis.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>
<!--配置mybatis的环境-->
<environments default="development">
<!--id是数据源的名称-->
<environment id="development">
<!--事务类型:使用JDBC事务,使用connection 的提交和回滚-->
<transactionManager type="JDBC"></transactionManager>
<!--配置数据源,使用的是数据库中的连接池-->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127

本文详细介绍了Mybatis的基本操作,包括JDBC的传统模式对比、配置文件myBatis.xml的编写、实体类映射、增删改查示例,以及对象分析和架构。还涉及日志配置、对象级优化和Mapper接口的应用。

885

被折叠的 条评论
为什么被折叠?



