MyBatis入门步骤
创建表,导入数据
首先在数据库中新建tb_user表,并导入数据,MySQL语句如下:
create database mybatis;
use mybatis;
drop table if exists tb_user;
create table tb_user(
id int primary key auto_increment,
username varchar(20),
password varchar(20),
gender char(1),
addr varchar(30)
);
INSERT INTO tb_user VALUES (1, 'zhangsan', '123', '男', '北京');
INSERT INTO tb_user VALUES (2, '李四', '234', '女', '天津');
INSERT INTO tb_user VALUES (3, '王五', '11', '男', '西安');`
创建模块,导入坐标
使用Maven进行项目创建和管理,因此不需要下载jar包再放入classpath中,只要在pom.xml配置文件中导入坐标即可。
MyBatis坐标怎么导入可以通过官网(https://mybatis.org/mybatis-3/
)查询。
此外,还需要导入mysql驱动,junit,logback等坐标,附上代码如下:
<dependencies>
<!-- mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.20</version>
</dependency>
<!-- 添加logback-classic依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- 添加logback-core依赖 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
要使用logback,除了上面三个配置信息之外,还需要导入配置文件。配置文件放到resources文件夹。
logback.xml代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--
CONSOLE :表示当前的日志信息是可以输出到控制台的。
-->
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%level] %blue(%d{HH:mm:ss.SSS}) %cyan([%thread]) %boldGreen(%logger{15}) - %msg %n</pattern>
</encoder>
</appender>
<logger name="com.itheima" level="DEBUG" additivity="false">
<appender-ref ref="Console"/>
</logger>
<!--
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF
, 默认debug
<root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
-->
<root level="DEBUG">
<appender-ref ref="Console"/>
</root>
</configuration>
编写MyBatis核心配置文件
MyBatis核心配置文件用于替换数据库连接信息。
在官网可以看到怎么写核心配置文件。文件命名为mybatis-config.xml
,并放入recourses文件夹中。注意主机ip,MySQL的用户名和密码需要替换。
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- 数据库连接信息-->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://你的主机ip:3306/mybatis?useSSL=false"/>
<property name="username" value="你的用户名"/>
<property name="password" value="你的密码"/>
</dataSource>
</environment>
</environments>
<mappers>
<!-- 加载sql映射文件-->
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
加载SQL映射文件
官网依然提供了加载SQL映射文件的示例。
修改namespace,id,resultType,SQL语句,我的示例如下:
<?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="test">
<select id="selectAll" resultType="com.itheima.pojo.User">
select * from tb_user;
</select>
</mapper>
编码
定义POJO类
user表中有什么数据类型就对应加上数据类型。并加上setter和getter方法,toString方法。
定义MaBtisDemo类
加载核心配置文件,获取SqlSessionFactory类
获取SqlSession对象,用它执行SQL语句
释放资源
查询结果
图中倒数第四行即成功查询的结果。