MyBatis 环境搭建(四)
MyBatis 引言
在回顾JDBC时,我们已经创建有 Java 工程,而且也已经导入 mysql 依赖包,这里就直接在原有工程上搭建MyBatis环境,以及使用MyBatis来实现之前用 JDBC 查询 tb_user 表的操作流程。
MyBatis环境搭建
首先,在 Java 工程添加 MyBatis 的依赖 jar 包,并进行导包操作;
然后,在 Java 工程的根目录下创建 MyBatis 环境配置文件 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">
<!-- 事务管理器,JDBC类型的事务管理器 -->
<transactionManager type="JDBC" />
<!-- 数据源,池类型的数据源 -->
<dataSource type="POOLED">
<!--设置数据库驱动 -->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<!--设置数据库url地址-->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<!--设置数据库用户名-->
<property name="username" value="填写数据库的用户名"/>
<!--设置数据库密码-->
<property name="password" value="填写数据库密码"/>
</dataSource>
</environment>
</environments>
</configuration>
最后,在 Java 工程下创建 MyBatisDemo.java 文件,用于测试MyBatis环境是否搭建OK
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;
/**
* @desc MyBatis测试
* @date 2020/6/18 上午11:34
*/
public class MyBatisDemo {
public static void main(String[] args) throws Exception {
// 指定mybatis环境配置文件
String resource = "mybatis-config.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// 构建sqlSessionFactory
SqlSessionFactory sqlSessionFactory
= new SqlSessionFactoryBuilder().build(inputStream);
// 获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
System.out.println("MyBatis 环境搭建 OK ");
}
执行MyBatisDeme后结果如下:
注意:如果运行出现异常错误,那么可能是 jar 包导入有问题,或者 mybatis-config.xml 编写有语法错误,相信认真核查一下就可以解决。
MyBatis查询操作
首先,在 Java 工程的 mapper 包下创建 UserMapper.java 文件,该文件是user的映射器接口,如下:
package mapper;
import entity.UserEntity;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* @desc User映射器接口
* @date 2020/6/19 上午8:59
*/
public interface UserMapper {
/**
* 根据年龄查询用户信息
* @param age 年龄
* @return user 用户实体集合
*/
public List<UserEntity> selectUserByAge(int age);
}
接着,在 Java 工程的 mapper 包下创建 UserMapper 映射器接口对应的 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表示命名空间,填写之前创建的 UserMapp.java 接口包路径 -->
<mapper namespace="mapper.UserMapper">
<!--结果集映射-->
<resultMap id="userResultMap" type="entity.UserEntity">
<!-- propery表示UserEntity属性名 column表示tb_user表的字段名-->
<id property="id" column="id" />
<result property="userName" column="userName" />
<result property="password" column="password" />
<result property="name" column="name" />
<result property="age" column="age" />
<result property="sex" column="sex" />
<result property="birthday" column="birthday" />
<result property="created" column="created" />
<result property="updated" column="updated" />
</resultMap>
<!--select查询语句-->
<select id="selectUserByAge" resultMap="userResultMap">
select * from tb_user where age > #{age}
</select>
</mapper>
然后,在 Java 工程的 mybatis-config.xml 配置文件中添加 UserMapper.xml 映射文件的路径,如下:
<configuration>
<!-- 数据库配置 -->
<environments default="development">
...
</environments>
<!--配置映射文件路径-->
<mappers>
<mapper resource="mappers/UserMapper.xml" />
</mappers>
</configuration>
最后,在 Java 工程的 MyBatisDemo.java 文件中添加代码执行查询操作,如下:
import entity.UserEntity;
import mapper.UserMapper;
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;
/**
* @author benjamin.xu
* @desc MyBatis测试
* @date 2020/6/18 上午11:34
*/
public class MyBatisDemo {
public static void main(String[] args) throws Exception {
// 指定mybatis环境配置文件
String resource = "mybatis-config.xml";
// 读取配置文件
InputStream inputStream = Resources.getResourceAsStream(resource);
// 构建sqlSessionFactory
SqlSessionFactory sqlSessionFactory
= new SqlSessionFactoryBuilder().build(inputStream);
// 获取sqlSession
SqlSession sqlSession = sqlSessionFactory.openSession();
// 获取UserMapper对象
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 执行查询操作
List<UserEntity> userEntities = userMapper.selectUserByAge(20);
System.out.println(userEntities);
//关闭sqlSession
sqlSession.close();
}
}
执行 MyBatisDemo 结果如下:
[entity.UserEntity{id=1, userName='zs', password='123456', name='张三', age=22, sex=1, birthday=Sun Sep 02 00:00:00 IRKST 1990, created='2020-06-17 09:30:58.0', updated='2020-06-17 09:30:58.0'}, entity.UserEntity{id=2, userName='ls', password='123456', name='李四', age=24, sex=1, birthday=Sun Sep 05 00:00:00 IRKST 1993, created='2020-06-17 09:30:58.0', updated='2020-06-17 09:30:58.0'}]
Process finished with exit code 0
MyBatis操作步骤总结
通过上述操作,我们可以总结出 MyBatis 的操作步骤如下:
创建 UserMapper.java 映射器接口
创建 UserMapper.xml 映射文件
在 mybatis-config.xml 环境配置文件中添加 UserMapper.xml 映射文件路径
在 MyBatisDemo中编写MyBatis测试代码
- 加载 mybatis-config.xml MyBatis环境配置文件
- 创建 SqlSessionFactory 工厂对象
- 通过 SqlSessionFactory 工厂创建 SqlSession 对象
- 通过 SqlSession 创建 UserMapper接口对象
- 调用 UserMapper 接口方法执行查询操作
- 调用SqlSession.commit()提交事务(查询不需要)
- 关闭 SqlSession 会话
MyBatis 环境搭建(四)的更多相关文章
- MyBatis -01- 初识 MyBatis + MyBatis 环境搭建
MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...
- Mybatis环境搭建及测试
1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...
- springmvc+mybatis环境搭建
1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...
- odoo开发环境搭建(四):python开发工具IDE pycharm配置
odoo开发环境搭建(四):python开发工具IDE pycharm配置
- MyBatis之MyBatis环境搭建
MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...
- Mybatis环境搭建中的案例分析 及 如果自己编写DAO接口的实现类
Mybatis环境搭建中的案例分析public static void main (String[] args) throws Exception { //读配置文件 //第一个: 使用类加载器,只能 ...
- mybatis环境搭建和开发步骤
环境搭建 第一步:导入jar包 第二步:导入核心配置文件(mybatis-config.xml) <?xml version="1.0" encoding="UTF ...
- MyBatis 环境搭建 (一)
一.MyBatis简介 MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简 ...
- Spring日记_02之 json、javaBean、.do、MySql、MyBatis 环境搭建结束
JSON Json是JavaScript直接量语法 无参构造方法直接 Alt + \ 就可以提示添加 Project – Clean 浏览器向服务器发送请求,服务器中的Spring中的SpringMV ...
随机推荐
- Julia语言程序基础
Julia-lang 新兴的Julia语言,Julia 一开始就是为高性能而设计的. Julia 程序通过 LLVM 编译成高效的多平台机器码. Julia中文社区: https://cn.julia ...
- Mybatis的Dao层实现原理
1.Mybatis的Dao层实现 1.1 传统开发方式 1.1.1编写UserDao接口 public interface UserDao { List<User> findAll() t ...
- Day14_79_IO+Properties联合应用
IO+Properties联合应用 - dbinfo文件中可以存放<key=value> - 像dbinfo这样的文件我们叫做配置文件,配置文件的作用是使程序更加灵活 - 一般在程序中可变 ...
- C#入门到精通系列课程——第3章变量及运算符
◆本章内容 (1)变量是什么 (2)变量的声明及初始化 (3)常量 (4)运算符 (5)数据类型转换 (6)运算符优先级及结合性 (7)难点解答 ◆本章简述 很多人认为学习C#之前必须要学习C++,其 ...
- 1027 Colors in Mars
People in Mars represent the colors in their computers in a similar way as the Earth people. That is ...
- 【VsCode】常用的快捷键
查找和替换: 查找:Ctrl +F 查找和替换:Ctrl +H编辑器和窗口管理相关快捷键: 文件之间切换:Ctrl+Tab 关闭当前窗口:Ctrl+W /Ctrl +F4 切出一个新的编辑器窗口(最多 ...
- Intel汇编程序设计-高级过程(上)
第八章 高级过程 8.1 简介 本章主要讲: 堆栈框架 变量作用域和生存期 对战参数的类型 通过传递值或者传递引用来传递参数 在堆栈上创建和初始化局部变量 递归 编写多模块程序 内存模型和语言关键字 ...
- Windows Pe 第三章 PE头文件(中)
这一章的上半部分大体介绍了下PE文件头,下半部分是详细介绍里面的内容,这一章一定要多读几遍,好好记记基础概念和知识,方便之后的学习. 简单回忆一下: 3.4 PE文件头部解析 3.4.1 DOS M ...
- HR:“最喜欢阿里出来的程序员了,技术又好又耐艹!” 我:???
面试造火箭,进厂拧螺丝?真的是这样吗? 缘起 估计不少同学都是被标题吸引进来的.事先声明,这句话不是我虚构的,而是我实实在在从同事的口中听到的,而且还不止一次. 当时的场景就是很正常的交谈,别人也并没 ...
- 使用乌龟Git连接github
之前自己是在Gitee+乌龟Git来进行管理项目,因为特殊的需求,需要再Github+乌龟Git来进行管理项目,这盘博客主要讲解的就是这个. 安装环境 Git 安装参考链接:https://www.c ...