配置MyBatis流程
- 下载并安装IDEA,准备写第一个项目
- 下载MyBatis
进入MyBatis官网下载MyBatis最新版本 入门 -->安装 -->点击mybatis-x.x.x.jar下载MyBatis
官网地址:https://mybatis.org/mybatis-3/zh/index.html - 将下载好的jar文件导入IDEA项目中
- 在IDEA中新建一个项目(Text) 新建目录 lib
- 移入lib中的jar:
1、OJDBC连接器(如果没有,在MySQL官网下载:https://downloads.mysql.com/archives/c-odbc/下载对应版本)
2、解压下载好的mybatis-x.x.x,将改目录下的mybatis-x.x.x.jar和lib中的jar文件全部导入Test项目中的lib目录下
3、将lib中的所有jar文件右键导入库
- 使用XML文件来配置项目
在src目录下新建mybatis.xml文件,在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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
这里配置以上核心配置文件的参数
- configuration
配置文件的根元素,所有的其他元素都要在这个标签下使用(dtd
文件规定) - environments default=“development”
由于管理所有环境,可以指定默认使用哪个环境,通过default属性指定 - environments
用来配置环境,id属性用于唯一标识当前环境 - transactionManager type=“JDBC”
用户配置事务管理器
type属性
用来指定MyBatis使用哪种方式管理事务
JDBC:表示采用与原生JDBC一致方式管理事务
Manager:表示事务管理交给其他容器进行,Spring - dataSource type=“POOLED”
用于配置数据源,设置Myabtis是否使用连接池技术,并且配置数据库的四个连接参数
type属性:
POOLED:装示采用连接池技术
UNPOOLED:表示每次都会开启和关闭连接,不采用连接池技术
JNDI:使用其他容器提供数据源 - 需要修改的参数:property
用于配置数据库连接参数(driver,url,username,password)
本项目使用的driver:org.gjt.mm.mysql.Driver
url为jdbc:mysql://47.95.216.50/bookdb04
username:root password:abc123456
<dataSource type="POOLED">
<property name="driver" value="org.gjt.mm.mysql.Driver"/>
<property name="url" value="jdbc:mysql://47.95.216.50/bookdb04"/>
<property name="username" value="root"/>
<property name="password" value="abc123456"/>
</dataSource>
- 需要修改的参数mappers:
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
BlogMapper.xml映射文件用于执行SQL查询,需要新建xml文件配置SQL查询语句
在MyBatis官网下–入门中找到探究已映射的 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">
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectBlog" resultType="Blog">
select * from Blog where id = #{id}
</select>
</mapper>
在src中创建新的xml文件Dept1.xml(文件名自定义)作为BlogMapperxml执行
将以上代码黏贴在Dept1.xml上
namespace命名空间 名称可自定义 必填
select :定义查询语句
id:是当前命名空间下的sql语句的唯一标识,当前命名空间不能重复
resultType:结果类型:数据类型int、double、String·······也可以是自定义类型
这里示范一个实例:
在src目录下新建包com.xxxx.mapper
右键新建Dept1.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="com.xxxx.mapper.Dept1">
<select id="c8" resultType="String">
select 图书名称 from c8
</select>
</mapper>
修改mybatis中的mappers标签:
<mappers>
<mapper resource="com/xxxx/mapper/Dept1.xml"/>
</mappers>
继续在该包下新建java文件Test.java
package com.xxxx.mapper;
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 Test {
public static void main(String[] args) throws IOException {
InputStream is = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
SqlSession session=factory.openSession();
List<String>list =session.selectList("com.xxxx.mapper.Dept1.c8");
list.forEach(System.out::println);
session.close();
}
}
成功查询出c8表中的所有图书名称