Mybaits 源码解析 (一)----- 搭建一个mybatis框架(MyBatis HelloWorld)
2019-10-28 11:03
1521 查看
源码分析之前先搭一个mybatis的demo,这个在看源码的时候能起到了很大的作用,因为在看源码的时候,会恍然大悟,为什么要这么配置,为什么要这么写。(老鸟可以跳过这篇)
开发环境的准备
创建maven项目
pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mybatis.chenhao</groupId> <artifactId>mybatisDemo</artifactId> <version>1.0-SNAPSHOT</version> <properties> <!-- mybatis版本号 --> <mybatis.version>3.4.2</mybatis.version> </properties> <dependencies> <!--mybatis依赖 --> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>${mybatis.version}</version> </dependency> <!-- mysql驱动包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.44</version> </dependency> </dependencies> </project>
创建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> <!-- 引入外部配置文件 --> <properties resource="db.properties"></properties> <environments default="default"> <environment id="default"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource> </environment> </environments> <mappers> <mapper class="mapper.DemoMapper"></mapper> </mappers> </configuration>
db.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8 jdbc.username=chenhao jdbc.password=123456
entity和mapper
Employee
package entity; /*** * *@Author ChenHao *@Description: *@Date: Created in 14:58 2019/10/26 *@Modified By: * */ public class Employee { int id; String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Employee{" + "id=" + id + ", name='" + name + '\'' + '}'; } }
EmployeeMapper
package mapper; import entity.Employee; import java.util.List; /*** * *@Author ChenHao *@Description: *@Date: Created in 14:58 2019/10/26 *@Modified By: * */ public interface EmployeeMapper { List<Employee> getAll(); }
EmployeeMapper.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"> <mapper namespace="mapper.EmployeeMapper"> <resultMap id="baseMap" type="entity.Employee"> <result property="id" column="id" jdbcType="INTEGER"></result> <result property="name" column="name" jdbcType="VARCHAR"></result> </resultMap> <select id="getAll" resultMap="baseMap"> select * from employee </select> </mapper>
测试
public static void main(String[] args) throws IOException { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession = sqlSessionFactory.openSession(); try { EmployeeMapper employeeMapper = sqlSession.getMapper(Employee.class); List<Employee> all = employeeMapper.getAll(); for (Employee item : all) System.out.println(item); } finally { sqlSession.close(); } }
测试结果:
Employee{id=1, name='name1'} Employee{id=2, name='name2'} Employee{id=3, name='name3'}
好了,MyBatis HelloWorld我们已经搭建完了,后面的源码分析文章我们将以这个为基础来分析
相关文章推荐
- 搭建一个Maven - Spring - Spring MVC - Mybatis - MySSQ 整合SSM框架(一)
- mybatis源码解析 - 通过一个简单查询例子分析流程
- 框架原理与源码解析: MyBatis_No2事务管理机制
- 框架原理与源码解析: MyBatis_No0 官方解析
- 尚硅谷Android项目之_硅谷商城项目全套源码解析(二、主框架搭建)
- mybaits入门---快速搭建一个简单的mybatis项目
- mybatis源码解析 - 通过一个简单查询例子分析流程
- Spring+SpringMVC+MyBatis框架一个简单工程的搭建实例
- 使用idea搭建一个简单的SSM框架:(3)配置spring+mybatis
- 搭建一个简单的ssm框架 ——spring、springMvc、mybatis
- 手把手教你搭建与整合SSM框架(文末附源码)(Spring MVC + Spring + MyBatis)
- SpringBoot-Mybatis框架使用与源码解析
- 框架原理与源码解析: MyBatis_No3数据源与连接池
- SSM框架搭建及源码解析--bean的初始化及依赖注入(四)
- 如何基于IDEA搭建一个简易的springboot+mybatis+Oracle框架
- 使用数据库和ssm框架(spring + springmvc + mybatis )写一个简单的书籍管理网站之二——详细解释各种调用层次,以及注解,便于学习理解(附源码)
- MyBatis3框架学习(1)----mybaits初识和第一个helloworld
- 框架原理与源码解析: MyBatis_No4 面试简述
- SSM框架——Spring+SpringMVC+Mybatis的搭建教程 一:概述 SSM框架在项目开发中经常使用到,相比于SSH框架,它在仅几年的开发中运用的更加广泛。 Spring作为一个轻量级
- 框架原理与源码解析: MyBatis_No1架构与源码