[刘阳Java]_快速搭建MyBatis环境_第2讲
1.MyBatis的环境配置
- 导入MyBatis包, mybatis-3.2.8.jar
- 导入MySQL驱动包, mysql-connector-java-5.1.24-bin.jar
- 创建表的实体类, 例如: MyUser(id, name, password)
- 编写MyBatis的核心配置文件, SqlMapConfig.xml
- 编写映射文件, 例如: MyUserMapper.xml
- 编写测试来完成数据库CRUD操作
2.MyBatis代码编写原理图,因为环境搭建成功不成功需要我们写一段代码来测试。但是如何编写一段MyBatis的测试代码,我们有必要先了解一下MyBatis整个代码运行的原理图。在这里要谢谢CSDN上这位小伙伴提供的图片

3.如何导入MyBatis的jar包都非常容易,所以这里我们从MyBatis核心配置文件编写开始讲解编写MyBatis程序的流程
- 主要配置mybatis的运行环境, 数据源, 事务, 用户名, 用户密码, 缓存等。一般此配置文件存放到src目录下
<?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>
<!-- 将数据库连接信息简化到Java的属性文件中 -->
<properties resource="jdbc.properties"></properties> <!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->
<typeAliases>
<!-- com.mybatis2.entity包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名 -->
<!-- 如com.mybatis2.entity.MyUser这个实体类的别名就会被设置成MyUser -->
<package name="com.mybatis2.entity"/>
</typeAliases> <!-- 配置开发模式, 添加数据库信息, 开启事务模式 -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="com/mybatis2/mapper/MyUserMapper.xml"/>
</mappers>
</configuration>
4.编写实体类
- 什么实体类:简单说就是一个普通的JavaBean, 满足一点要求, 就是JavaBean的属性需要对应数据库表中的字段
create table MyUser (
id int primary key AUTO_INCREMENT,
name varchar(20),
password varchar(20)
)
package com.mybatis2.entity;
public class MyUser {
/*
* 1.MyUser.java对应表名
* 2.id对应MyUser表中的主键
* 3.username对应MyUser表中的用户名
* 4.userpass对象MyUser表中的用户密码
*/
private int id;
private String username;
private String userpass;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getUserpass() {
return userpass;
}
public void setUserpass(String userpass) {
this.userpass = userpass;
}
@Override
public String toString() {
return "MyUser [id="+this.id+" username="+this.username+" userpass="+this.userpass+"]";
}
}
5.配置实体类和数据库表的映射文件
- MyBatis的映射文件主要关联实体类与数据库表,主要目的是将表返回的数据映射到实体类(封装)
<?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,namespace的值习惯上设置成包名+sql映射文件名 -->
<mapper namespace="com.mybatis2.mapper.MyUserMapper"> <!-- 根据用户的ID来查询 -->
<!-- 使用占位符:#{}表示一个占位符 -->
<select id="getMyUserById" resultType="MyUser" parameterType="java.lang.Integer">
select * from MyUser where id=#{id}
</select>
</mapper>
6.测试MyBatis
package com.gxa.test; import java.io.IOException;
import java.io.Reader;
import java.util.List; 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 org.junit.Test; import com.gxa.pojo.MyUser;
import com.gxa.pojo.Team; public class Test01 {
/**
* 启动MyBatis去加载配置文件
* 1.java.io.Reader
* 2.Resources
* 3.SqlSessionFactory
*/
private static Reader reader;
private static SqlSessionFactory sqlSessionFactory; static {
try {
reader = Resources.getResourceAsReader("config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
} /**
* 1.初始化SqlSession, 执行SQL语句
* 2.告知程序读哪个映射文件
* 3.告知程序执行映射文件中哪个CRUD操作
*/
@Test
public void m01() {
SqlSession sqlSession = sqlSessionFactory.openSession();
String sql = "com.gxa.mapper.MyUserMapper.getMyUser";
List<MyUser> list = sqlSession.selectList(sql);
System.out.println(list);
sqlSession.close();
} }
[刘阳Java]_快速搭建MyBatis环境_第2讲的更多相关文章
- [刘阳Java]_Spring对Dao的支持_第10讲
Spring框架优秀就是在于MVC开发的时候一旦需要对底层的数据库操作,它可以很好的支持JDBC技术,还有现在主流的ORM框架(Hibernate, MyBatis)技术. 重点先介绍Spring对J ...
- [刘阳Java]_MyBatis_动态SQL标签用法_第7讲
1.MyBatis的动态SQL是基于OGNL表达式的,它可以帮助我们方便的在SQL语句中实现某些逻辑. 2.MyBatis中用于实现动态SQL的元素主要有 if choose(when,otherwi ...
- [刘阳Java]_MyBatis_常规标签的用法_第6讲
一般MyBatis最基本标签,或者说初学者上手最快的标签就是增删改查 1.<insert>标签,在MyBatis中完成数据添加操作 <insert id="addMyUse ...
- [刘阳Java]_SpringMVC与Struts2的对比_第12讲
今日来具体给讲讲SpringMVC与Struts2的对比,这样方便朋友们在工作中或者是面试学习中对这两者的区别有个更好的了解 把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的 ...
- [刘阳Java]_Spring AOP注解详细介绍_第8讲
这节内容非常关键,我们会比较详细地介绍Spring AOP注解的使用 1. 要使用Spring AOP注解,必须满足如下的事项 导入Aspectj的jar.Spring3.0-AOP.jar.aopa ...
- 快速搭建Web环境 Angularjs + Express3 + Bootstrap3
快速搭建Web环境 Angularjs + Express3 + Bootstrap3 AngularJS体验式编程系列文章, 将介绍如何用angularjs构建一个强大的web前端系统.angula ...
- spring boot / cloud (十八) 使用docker快速搭建本地环境
spring boot / cloud (十八) 使用docker快速搭建本地环境 在平时的开发中工作中,环境的搭建其实一直都是一个很麻烦的事情 特别是现在,系统越来越复杂,所需要连接的一些中间件也越 ...
- 阿里云体验实验室 教你如何《快速搭建LNMP环境》
## 体验平台简介 面向开发者和中小企业打造的一站式.全云端的开发平台,打开浏览器就可以开发.调试.上线,所测即所得,并结合无服务器的模式,重新定义云原生时代的研发工作方法论.旨在降低开发者上手成本和 ...
- 烂泥:学习ubuntu之快速搭建LNMP环境
本文由秀依林枫提供友情赞助,首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作 ...
随机推荐
- 关于oracle中创建新表时将我们要用的表的结构和数据都复制过去
今天在oracle中遇到了一个问题,就是给我查询出来了一张表的数据,只有部分的字段,让我将这张表的结构和数据放到新的临时表中,并进行数据的查询. 我是这样做的: 如:create table tabl ...
- linux mysql重装问题
系统 :ubuntu16.04 使用apt-get命令安装mysql,启动时出错: can't connect to local mysql server through socket '/var/r ...
- leetcode 172
172. Factorial Trailing Zeroes Given an integer n, return the number of trailing zeroes in n!. Note: ...
- PHP5.3、PHP5.4下安装ZendOptimizer或Zend Guard Loader的方法
现在很多PHP程序都需要ZendOptimizer环境,但是ZendOptimizer在PHP5.2之后已经被支持,那怎么办,Zend也不会这么做,原来PHP5.3开始ZendOptimizer正式改 ...
- My97DatePicker 日期控制,开始时间不能>结束时间,结束时间不能<开始时间
<li>日期: <input type="text" style="margin-top: 5px;" value="${begin ...
- HP_UX系统批量创建LV或raw设备的Shell 脚本
mkdir /dev/yjfsvg02 #创建lvm v2.0的VG,PE Size=64MB,不需要执行mknod创建group文件了.vgcreate -V 2.0 -s 64 -S 10t /d ...
- C#开发微信公众平台(附Demo)
服务号和订阅号 服务号是公司申请的微信公共账号,订阅号是个人申请的,我个人也申请了一个,不过没怎么用. 服务号 1个月(30天)内仅可以发送1条群发消息. 发给订阅用户(粉丝)的消息,会显示在对方的聊 ...
- linux 学习3 第四讲 文件常用命令
好几天没有在网上总结了.我把ppt先誊写在本子上,这样听的时候记录就方便很多,添些东西就可以. 我想先看shell那部分,但是没有之前几章的准备,是没法跟着视频动手操作的.所以还是按部就班得学习. 虽 ...
- 在win8.1中安装apache+php+mysql
因为x项目需求,需要学习使用php,咱也没啥经验,win8.1的系统在搭建php的运营环境中,费了一些周折,但是最后还是解决了. 详情请看 原文:http://jingyan.baidu.com/ar ...
- 关于SqlHelper的详解
SqlHelper是一个基于.NET Framework的数据库操作组件.组件中包含数据库操作方法.SqlHelper用于简化你重复的去写那些数据库连接(SqlConnection),SqlComma ...