文章目录
前言
mybatis学习知识点和注意点
一、mybatis环境准备
1、建立依赖
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.24</version>
</dependency>
</dependencies>
<build>
<!-- 查找到.xml文件-->
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
2、主配置文件
引入库在resources下建立mybatis.xml文件,整个mybatis项目只有一个mybatis.xml文件,它是mybatis的全局配置文件,提供数据库的连接信息和sql映射文件的位置信息,属性如下
properties(属性)
settings(全局参数配置)
typeAliases(类型别名)
typeHandlers(类型处理器)
objectFactory(对象工厂)
plugins(插件)
environments(环境集合属性对象)
environment(环境子属性对象)
transactionManager(事务管理)
dataSource(数据源)
mappers(映射)
连接8.0数据库有几点不同。
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
<environments default="mydev">
<environment id="mydev">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/springdb?characterEncoding=utf8&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="wyljyllz"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org\example\dao\StudentDao.xml"/>
</mappers>
3、mapper文件
可有多个mapper文件,sql映射文件,写sql语句的。
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.example.dao.StudentDao">
<select id="selectStudents" resultType="org.example.domain.Student">
select id,name,email,age from student order by id
</select>
<insert id="insertStudent">
insert into student values(#{id},#{name},#{email},#{age})
</insert>
</mapper>
二、第一个例子
1.创建实体类Student
需要有get、set、tostring方法
2、创建持久层dao接口,定义操作数据库的方法
public List<Student> selectStudents();
public int inertStudent(Student student);
}
3、创建测试类,通过mybatis访问数据库
public static void main(String[] args) throws Exception {
String config="mybatis.xml";
InputStream in = Resources.getResourceAsStream(config);
SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
SqlSessionFactory factory =builder.build(in);
SqlSession sqlSession=factory.openSession();
String sqlId ="org.example.dao.StudentDao"+"."+"selectStudents";
List<Student> studentList = sqlSession.selectList(sqlId);
studentList.forEach(stu -> System.out.println(stu) );
sqlSession.close();
}
}