框架搭建的流程
1. 导入jar
2. 准备属性文件和配置文件
3. 编写数据库的表和类
4. 为类编写一个XxxMapper接口
5. 编写接口对应的映射文件XxxMapper.xml
6. 根据接口的方法, 在映射文件中编写SQL
7. 编写测试类(使用接口代理方式来获取接口的实现类对象)
接口 对象 = sqlSession.getMapper(接口.class);
对象.方法() 内部会通过Mybatis框架自动完成SQL的CURD及结果封装的所有操作

使用流程
1. 根据表创建实体类
2. 创建接口及映射文件(4个绑定) SQL
3. 映射文件需要在mybatis-config.xml中配置<mapper resource="">

# Mybatis Pool Config
pool.driverClass=com.mysql.cj.jdbc.Driver
pool.url=jdbc:mysql://localhost:3306/xiaocheng?useSSL=false&characterEncoding=UTF8&serverTimeZone=UTC
pool.user=root
pool.password=root

log4j.rootLogger=debug,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %l %m%n

<?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>

<!-- 1. 专用于加载外部的属性文件 -->
<properties resource="app.properties"></properties>

<!-- 2. Mybatis操作的数据库环境 -->
<environments default="dev">
<environment id="dev">
<transactionManager type="JDBC"/> <!--事务管理器: 采用JDBC默认事务 -->
<dataSource type="POOLED"> <!-- Mybatis内置了一个数据库的连接池 -->
<property name="driver" value="${pool.driverClass}"/>
<property name="url" value="${pool.url}"/>
<property name="username" value="${pool.user}"/>
<property name="password" value="${pool.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="mapper.EmployeeMapper"/>
</mappers>
</configuration>

public class Employee implements Serializable {/**
*
*/
private static final long serialVersionUID = 1L;
private Integer id; // 编号
private String name; // 姓名
private String tno; // 工号
private String gender; // 性别
private String title; // 职称
private Integer managerId; // 直属领导编号
private Integer deptId; // 直属部门编号

无参

get,set,toString}

public interface EmployeeMapper {
/**
* 功能 : 通过id来查询员工对象
* @param id 员工编号
* @return 单个员工对象
*/
public Employee findById(int id);
}

<?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="mapper.EmployeeMapper">
<resultMap type="entity.Employee" id="baseMap">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="tno" property="tno"/>
<result column="gender" property="gender"/>
<result column="title" property="title"/>
<result column="managerId" property="managerId"/>
<result column="layout" property="layout"/>
<result column="deptId" property="deptId"/>
</resultMap>
<!-- 1. public Employee findById(int id); -->
<select id="findById" parameterType="int" resultType="entity.Employee">
SELECT * FROM t_emp WHERE id=#{value}
</select>
</mapper>

package util;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

/**
* 封装了Mybatis工厂的加载过程
* 功能 : 可以提供一个SqlSession 【数据库连接对象】
*/
public class DBUtil {

private static SqlSessionFactory factory;

static {
//1.创建一个工厂的建造者【使用了建造者设计模式】
SqlSessionFactoryBuilder factoryBuilder = new SqlSessionFactoryBuilder();
//2. 通过建造者来创建一个Mybatis的工厂【mybatis-config.xml 就是创建的图纸】
try(InputStream ins = Resources.getResourceAsStream("mybatis-config.xml");) {
factory = factoryBuilder.build(ins);
} catch (Exception e) {
}
}

/**
* 这种方式的SqlSession默认为手动提交【事务场景使用】
* @return
*/
public static SqlSession openSqlSession() {
return openSqlSession(false); // 本质 : conn.setAutoCommit(false)
}

/**
* 这种方式的SqlSession可以设置为手动提交,还可以设置为自动提交
* @param flag true【自动提交的】 false【手动提交】
* @return
*/
public static SqlSession openSqlSession(boolean flag) {
return factory.openSession(flag);
}
}

public class EmployeeTest {
@Test
public void testFindById() {
SqlSession sqlSession = DBUtil.openSqlSession(true);
EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
Employee emp = mapper.findById(11);
System.out.println(emp);
}
}

Mybatis最终搭建的更多相关文章

  1. SpringMVC+Mybatis框架搭建

    一.新建javaweb项目,并建好相应的包结构 二.添加项目jar到lib目录下 三.在config包中新建配置文件 sping-mvc.xml,内容如下: <?xml version=&quo ...

  2. mybatis框架搭建学习初步

    mybatis框架搭建步骤:1. 拷贝jar到lib目录下,而且添加到工程中2. 创建mybatis-config.xml文件,配置数据库连接信息 <environments default=& ...

  3. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  4. mybatis的搭建和注入spring的方式

    mybatis实际上是一个更多关注sql语句的框架,他的出现是想让开发者更简单的去操作数据库. 与hibernate相比较,hibernate更多的是去sql化,虽然hibernate也可以本地sql ...

  5. Spring+Mybatis+Mysql搭建分布式数据库访问框架

    一.前言 用Java开发企业应用软件, 经常会采用Spring+MyBatis+Mysql搭建数据库框架.如果数据量很大,一个MYSQL库存储数据访问效率很低,往往会采用分库存储管理的方式.本文讲述如 ...

  6. springmvc+mybatis环境搭建

    1.spring+mybatis 环境搭建: A.配置jdbc和dbcp数据源:注意版本com.mysql.cj.jdbc.Driver B.配置sessionfactory,绑定dbcp及配置map ...

  7. mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

    继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-we ...

  8. MyBatis -01- 初识 MyBatis + MyBatis 环境搭建

    MyBatis -01- 初识 MyBatis + MyBatis 环境搭建 MyBatis 本是 apache 的一个开源项目 iBatis(iBATIS = "internet" ...

  9. MyBatis之MyBatis环境搭建

    MyBatis之MyBatis环境搭建 一.MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1 ...

随机推荐

  1. 如何使用jQuery $.post() 方法实现前后台数据传递

    基础方法为 $.post(URL,data,callback); 参数介绍: 1.URL 参数规定您希望请求的 URL. 2.data 参数规定连同请求发送的数据. 3.callback 参数是请求成 ...

  2. vue之mixin理解与使用

    使用场景 当有两个非常相似的组件,除了一些个别的异步请求外其余的配置都一样,甚至父组件传的值也是一样的,但他们之间又存在着足够的差异性,这时候就不得不拆分成两个组件,如果拆分成两个组件,你就不得不冒着 ...

  3. Rancher 安装和使用-实践

    Rancher 安装和使用 Rancher是一个完整的,开源的平台,用于在生产环境中部署和管理容器.它包括Kubernetes,Mesos和Docker Swarm的商业支持发行版,使得在任何基础架构 ...

  4. maven中心仓库OSSRH使用简介

    目录 简介 为什么使用中心仓库 发布到中心仓库前的准备工作 使用OSSRH 使用Sonatype创建ticket 中央仓库中的组件要求 提供Javadoc 和源代码 使用GPG/PGP给文件签名 Me ...

  5. 微信小程序授权登录以及用户信息相关接口调整导致授权框不弹出

    前言:4月8号升级了小程序业务后提交了版本并上线.突然一个同事说体验版的点击"登录"按钮无效.当时觉得应该不会呀,这几天一直用手机调试,每天也在不停的登录授权,弹框一直有的呀.然后 ...

  6. Dynamics CRM安装教程一:域环境准备

    服务器环境:Windows Service 2016 Stand Windows域是计算机网络的一种形式,其中所有用户账户,计算机,打印机和其他安全主体都在位于称为域控制器的一个或多个中央计算机集群上 ...

  7. SpringBoot(九篇)

    (一) SpringBootCLI安装 (二)SpringBoot开发第一个应用 (三)SpringBoot pom.xml配置文件详解 (四)SpringBoot起步依赖Starters详解 (五) ...

  8. Vulkan移植GpuImage(三)从A到C的滤镜

    前面移植了几个比较复杂的效果后,算是确认了复杂滤镜不会对框架造成比较大的改动,开始从头移植,现已把A到C的所有滤镜用vulkan的ComputeShader实现了,讲一些其中实现的过程. Averag ...

  9. 它来了,它来了,HarmonyOS应用开发在线体验来了

    接下来是我们的两分钟科普,一分钟玩转HarmonyOS应用开发在线体验,一分钟简单了解"一次开发.多设备部署"的原理.萌新的开发者也能第一时间掌握,往下看吧~ 一分钟玩转Harmo ...

  10. Docker工具的使用

    初识 Docker jdk的版本问题,环境造成的问题很常见,称为代码的水土不服 把环境和代码一起传过去 软件跨环境迁移的问题就解决了 Docker 是一个开源的应用容器引擎 诞生于 2013 年初,基 ...