MyBatis日常笔记记录02--新建xml文件及导入maven依赖
1.在resource路径下新建mybatis.xml文件,文件内容可以在mybatis中文参考文档获取,这里主要解释各个部分的详细信息

<?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>
<!--
环境配置:数据库的连接信息
default:必须和某个environment的id值一样。
告诉mybatis使用哪个数据库的连接信息,也就是访问哪个数据库
-->
<environments default="mydev">
<!--
environment:一个数据库信息的配置,环境
id :一个唯一值,自定义,表示环境的名称
-->
<environment id="mydev">
<!--
transactionManager:mybatis的事务类型
type:JDBC(表示使用jdbc中的Connection对象的commit,rollback做事务处理)
-->
<transactionManager type="JDBC"/>
<!--
dataSource:表示数据源,连接数据库的
type:表示数据源的类型,POOLED表示使用连接池
-->
<dataSource type="POOLED">
<!--
driver,user,username,password 是固定的,不能自定义
-->
<!--数据库的驱动类名-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--连接数据库的url字符串-->
<property name="url" value="jdbc:mysql://localhost:3306/springdb"/>
<!--访问数据库的用户名-->
<property name="username" value="root"/>
<!--密码-->
<property name="password" value="$root"/>
</dataSource>
</environment>
</environments>
<!--sql mapper(sql配置文件)的位置-->
<mappers>
<!--一个mapper标签指定一个文件的位置
从类路径开始的路径信息。 target/classes类路径
-->
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
<!--mybatis的主配置文件:主要定义了数据库的配置信息,sql映射文件
1.约束文件
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
mybatis-3-config.dtd :约束文件的名称
2.configuration 根标签
-->
点击Maven --> 文件名 --> compile 进行编译,生成target文件(第一张图)

可以看到target文件下dao包里面没有生成xml文件,需要在pom.xml下添加maven配置信息
<build>
<resources>
<resource>
<directory>src/main/java</directory> <!--所在的目录-->
<includes><!--包括目录下的.properties, .xml文件都会被扫描到-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
添加好配置信息后,刷新maven项目, 重新点击compile ,可以看到xml文件在target目录下生成了

2.测试连接,在org.example
package org.example;
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 org.example.domain.Student;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyApp {
public static void main(String[] args) throws IOException {
//访问mybatis读取student数据
//1.定义mybatis主配置文件的名称,从类路径的根开始
String config = "mybatis.xml";
//2.读取这个config表示的文件
InputStream in = Resources.getResourceAsStream(config);
//3.创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
//4.创建SqlSessionFactory对象
SqlSessionFactory factory = builder.build(in);
//5.【重要】获取SqlSession对象,从SqlSessionFactory中获取SqlSession
SqlSession sqlSession = factory.openSession();
//6.【重要】指定要执行的sql语句的标识。 sql映射文件中namespace + "." + 标签的id值
String sqlId = "org.example.dao.StudentDao" + "." + "selectStudent";
//7.执行sql语句,通过sqlId找到语句
List<Student> studentList = sqlSession.selectList(sqlId);
//8.输出结果
// studentList.forEach(stu -> System.out.println(stu));
for(Student stu : studentList){
System.out.println("查询的学生="+stu);
}
//9.关闭SqlSession的对象
sqlSession.close();
}
}
浙公网安备 33010602011771号