mybatis快速入门案例(使用maven)
1.数据库准备
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', '男', '西安');
数据如下
2.创建Maven模块
File->Project Structure->Modules->‘+’->new module
点击next
然后点击finish完成,创建后maven项目结构如下所示
3.导入mybatis依赖
在pom.xml中加入如下内容
<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</artifactId>
<version>5.1.46</version>
</dependency>
</dependencies>
4.mybatis的核心配置
(1)在main/java/com.mybatis.pojo下创建User实体类
如图,注意这里要与数据库的字段完全对应
(2)在resources目录下创建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">
<!--
namespace:名称空间,主要用于区别不同mapper下的相同名字的操作
id:是这条sql语句的唯一标识
resultType:执行结果的返回类型,将每条数据看作一个User对象
-->
<mapper namespace="test">
<select id="selectAll" resultType="com.mybatis.pojo.User">
select * from tb_user;
</select>
</mapper>
(3)在resources目录下创建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>
<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:///mybatis?useSSL=false"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--加载sql映射文件-->
<mapper resource="UserMapper.xml"/>
</mappers>
</configuration>
5.编写测试类
在java目录下创建MybatisDemo.java测试类,写入以下内容
import com.mybatis.pojo.User;
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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyBatisDemo {
public static void main(String[] args) throws IOException {
//1.加载mybatis的核心配置文件,获取sqlSessionFactory对象
String resource = "mybatis-config.xml";//此时mybatis-config.xml文件在resources文件的根目录下
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SqlSession对象,用它来执行sal语句
SqlSession sqlSession = sqlSessionFactory.openSession();
//3.执行sql语句,因为这里查询的是全部数据,所以用selectList()
List<User> users = sqlSession.selectList("test.selectAll");
//打印结果集
System.out.println(users);
//4.释放资源
sqlSession.close();
}
}
运行可得如下结果
完结撒花