目录
2.1、创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖:
2.3、创建表对应的实体类:student类,用来保存表中的每一行数据:
2.5、创建这个表对应的sql映射文件,一个表一个sql映射文件
2.7、编写测试代码,使用mybatis --- 通过Mybatis访问数据库:
一、Mybatis查询数据库功能
- 创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖
- 创建一张student表
- 创建表对应的实体类:student类,用来保存表中的每一行数据
- 创建持久层的DAO接口,用来定义操作数据库的方法
- 创建这个表对应的sql映射文件,一个表一个sql映射文件 --- 用来写sql语句的
- 创建mybatis的主配置文件: 一个项目就一个mybatis的主配置文件 主配置文件提供了数据库的连接信息和sql映射文件的位置信息
- 编写测试代码,使用mybatis --- 通过Mybatis访问数据库
二、Mybatis查询数据库功能实现
2.1、创建Maven项目,在Maven中加入mybatis依赖,mysql驱动依赖:
<!--mybatis依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.1</version>
</dependency>
<!--mysql驱动依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.9</version>
</dependency>
2.2、创建一张student表:
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for student
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`age` int(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1001, '李四', 'lisi@qq.com', 20);
INSERT INTO `student` VALUES (1002, '张三', 'zhangsan@qq.com', 23);
SET FOREIGN_KEY_CHECKS = 1;
2.3、创建表对应的实体类:student类,用来保存表中的每一行数据:
2.4、创建持久层的DAO接口,用来定义操作数据库的方法:
public interface StudentDao {
//查询Student表中的所有数据:
public List<Student> selectStudents();
}
定义一个List集合,List集合中的每一个对象是一个学生,list集合中放的是student对象,这个selectStudents()方法对应的是一个SQL语句的执行,SQL语句写在SQL映射的文件里面。
2.5、创建这个表对应的sql映射文件,一个表一个sql映射文件 --- 用来写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:命名空间,唯一值 ,推荐使用:dao 接口的全限定名称 -->
<mapper namespace="com.lifang.dao.StudentDao">
<!--
<select>: 表示查询操作, 标签中必须是 select 语句
1、id: sql 语句的自定义名称,表示要执行的 sql 语句
推荐使用 dao 接口中的方法名称,
2、resultType: 查询语句的返回结果数据类型,sql语句执行完之后得到了ResultSet查询结果集,
遍历这个ResultSet得到的java对象的类型;使用类的全限定类名
-->
<select id="selectStudents" resultType="com.lifang.domain.Student">
select id,name,email,age from student
<!--要执行的 sql 语句
我们mybatis执行这条sql语句,会用我们的每一行记录来创建出一个studen对象,
并且把这些值赋值给这个对象的属性
-->
</select>
<!--插入操作-->
<insert id="insertStudent">
insert into student(id,name,email,age) values(#{id},#{name},#{email},#{age})
</insert>
<!--更新操作-->
<update>
</update>
<!--删除操作-->
<delete>
</delete>
</mapper>
2.6、创建mybatis的主配置文件:
一个项目就一个Mybatis的主配置文件,主配置文件提供了数据库的配置信息和sql映射文件的位置信息。
1、创建主配置文件:名称为 mybatis.xml
2、支持中文的 url:
jdbc:mysql://localhost:3306/sys?useUnicode=true&characterEncoding=UTF-8
<?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>
<!--
settings:控制Mybatis的全局行为
-->
<settings>
<!--设置Mybatis输出日志,
可以在控制台输出执行的 sql 语句和参数(日志)-->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
<!--
环境标签,配置mybatis环境,里面是数据库的配置信息,
可以写多个environment,
environments的default对应environment的id,
id可以自己起名,default写哪个id,则哪个environment生效
-->
<environments default="dev">
<!--id:数据源的名称-->
<environment id="dev">
<!--配置事务类型:使用 JDBC 事务(使用 Connection 的提交和回滚)-->
<transactionManager type="JDBC"/>
<!--数据源 dataSource:
创建数据库 Connection 对象
type: POOLED 使用数据库的连接池
-->
<dataSource type="POOLED">
<!--连接数据库的四个要素-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/sys?useUnicode=true&characterEncoding=UTF-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<!--SQL映射文件的位置信息-->
<mapper resource="com/lifang/dao/StudentDao.xml"/>
</mappers>
</configuration>
2.7、编写测试代码,使用mybatis --- 通过Mybatis访问数据库: