MyBatis之MyBatis环境搭建
MyBatis之MyBatis环境搭建
一、MyBatis开发环境搭建
1.引入Jar包
①MyBatis
mybatis-3.4.1.jar
ant-1.9.6.jar
ant-launcher-1.9.6.jar
asm-5.1.jar
cglib-3.2.4.jar
commons-logging-1.2.jar
javassist-3.21.0-GA.jar
log4j-1.2.17.jar
log4j-api-2.3.jar
log4j-core-2.3.jar
ognl-3.1.12.jar
slf4j-api-1.7.22.jar
slf4j-log4j12-1.7.22.jar
②MySQL:
mysql-connector-java-5.1.7-bin.jar
2.创建配置文件: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">
<transactionManager type="JDBC" />
<!-- 配置数据源:链接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_01" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>
<!-- 注册映射文件 -->
<mappers>
<mapper resource="cn/com/zfc/model/UserMapper.xml" />
</mappers>
</configuration>
3.创建实体类:User.java
package cn.com.zfc.model; /**
*
* @title User
* @describe User 模型类 Model 层
* @author 张富昌
* @date 2017年2月25日上午11:42:11
*/
public class User {
private Integer id;
private String name;
private String sex; public User(Integer id, String name, String sex) {
super();
this.id = id;
this.name = name;
this.sex = sex;
} public User() {
super();
} public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} @Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", sex=" + sex + "]";
} }
4.创建映射文件: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">
<!-- mapper:映射文件,namespace:命名空间 -->
<mapper namespace="cn.com.zfc.model.UserMapper">
<!-- 查询一个 User 对象 -->
<!-- parameterType:参数类型,resultType:返回结果类型 -->
<select id="getOne" parameterType="java.lang.Integer" resultType="cn.com.zfc.model.User">
select *
from user
where
id=#{id}
</select>
</mapper>
二、基本使用流程
1、获取 InputStream 对象,加载 Mybatis 配置文件
InputStream inputStream = Test01.class.getClassLoader().getResourceAsStream("mybatis_config.xml");
2、创建 SqlSessionFactoryBuilder,用来获取 SqlSessionFactory 对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
3、获取 SqlSessionFactory 对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
4、获取 SqlSession 对象
SqlSession sqlSession = sqlSessionFactory.openSession();
5、定义 statement
String statement = "cn.com.zfc.model.UserMapper.getOne";
6、执行查询语句
User user = sqlSession.selectOne(statement, 1);
System.out.println("User:" + user);
7、提交事务
sqlSession.commit();
8、关闭 Session
sqlSession.close();
三、测试MyBatis环境:TestMyBatis.java
package cn.com.zfc.test; import java.io.InputStream; import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import cn.com.zfc.model.User; /**
*
* @title TestMyBatis
* @describe 测试 Mybatis
* @author 张富昌
* @date 2017年2月25日下午4:18:15
*/
public class TestMyBatis {
public static void main(String[] args) {
/* 1、获取 InputStream 对象,加载 Mybatis 配置文件 */
InputStream inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream("mybatis_config.xml");
/* 2、创建 SqlSessionFactoryBuilder,用来获取 SqlSessionFactory 对象 */
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
/* 3、获取 SqlSessionFactory 对象 */
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
/* 4、获取 SqlSession 对象 */
SqlSession sqlSession = sqlSessionFactory.openSession();
/* 5、定义 statement */
String statement = "cn.com.zfc.model.UserMapper.getOne";
/* 6、执行查询语句 */
User user = sqlSession.selectOne(statement, 1);
System.out.println("User:" + user);
/* 7、提交事务 */
sqlSession.commit();
/* 8、关闭 Session */
sqlSession.close();
}
}
MyBatis之MyBatis环境搭建的更多相关文章
- mybatis:开发环境搭建--增删改查--多表联合查询(多对一)
什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或 ...
- Mybatis系列全解(二):Mybatis简介与环境搭建
封面:洛小汐 作者:潘潘 Mybatis 是一套持久层框架,灵活易用,特别流行. 前言 Mybatis系列全解,我们预计准备10+篇文章,让我们了解到 Mybatis 的基本全貌,真正从入门到上手,从 ...
- SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建
SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...
- Mybatis简介、环境搭建和详解
简介: 1.Mybatis 开源免费框架,原名叫iBatis,2010在google code,2013年迁移到github 2.作用: 数据访问层框架 2.1 底层是对JDBC的封装 3.myb ...
- spring+springMVC+mybatis+maven+mysql环境搭建(一)
环境搭建是最基础的,但是发现平时很多时候大家都是ctrl c+ctrl v,这样对于很多细节完全不清楚,来,一起深入了解下 一.准备工作 首先得准备好maven.mysql啥的,这些略... 并且my ...
- Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单有用
1.下载SpringMVC框架架包,下载地址: 点击下载 点击打开地址如图所看到的.点击下载就可以 然后把相关的jar拷贝到lib下导入 2.MyBatis(3.4.2)下载 X-Amz-Algori ...
- springboot整合mybatis(SSM开发环境搭建)
0.项目结构: ---------------------方法一:使用mybatis官方提供的Spring Boot整合包实现--------------------- 1.application.p ...
- 04 Mybatis 框架的环境搭建及入门案例
1.搭建 Mybatis 开发环境 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 SqlMapConifg. ...
- Mybatis入门(一)环境搭建
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简单的 XML ...
- MyBatis源码环境搭建
之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...
随机推荐
- 钉钉头像大小设置 阿里cdn尺寸截取参数设置
默认api的接口返回的avatar字段,是原始图片大小字段,尺寸和空间都是原始大小,如果想节省流量或统一尺寸,可以用阿里cdn自带的尺寸截取功能, 比如钉钉头像 avatar字段 返回值为原始大小ht ...
- Linux移植随笔:终于解决Tslib的问题了【转】
转自:http://www.latelee.org/embedded-linux/porting-linux-tslib.html 前段时间让Tslib搞晕头了,原来一切都是版本惹的祸.本文只是一个随 ...
- Python-Web框架的本质
Web框架的本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. Python中使用socket和 ...
- [shell]shell中if语句的使用
转自:http://lovelace.blog.51cto.com/1028430/1211353 bash中如何实现条件判断?条件测试类型: 整数测试 字符测试 文件测试 一.条件 ...
- sqlserver中查询存储过程中的字符串
select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...
- 机器学习 Python实践-K近邻算法
机器学习K近邻算法的实现主要是参考<机器学习实战>这本书. 一.K近邻(KNN)算法 K最近邻(k-Nearest Neighbour,KNN)分类算法,理解的思路是:如果一个样本在特征空 ...
- Python学习1-Python和Pycharm的下载与安装
本文主要介绍Python的下载安装和Python编辑器Pycharm的下载与安装. 一.Python的下载与安装 1.下载 到Python官网上下载Python的安装文件,进入网站后显示如下图: 网速 ...
- hdu 1085 有num1个 1 ,num2个 2 ,num3个 5 (母函数)
有num1个 1 ,num2个 2 ,num3个 5问它们不能组成的最小正整数是谁 样例的母函数 (1+X)(1+X2)(1+X5+X10+X15)展开后 X4的系数为0 Sample Input1 ...
- 专业分析docker的分层存储技术
话不在多,指明要点! 联合挂载是用于将多个镜像层的文件系统挂载到一个挂载点来实现一个统一文件系统视图的途径, 是下层存储驱动(aufs.overlay等) 实现分层合并的方式. 所以严格来说,联合挂载 ...
- js获取iframe的id
有一个需求是在iframe页面调用父页面一个方法,开始我用window.parent.length来判断页面有几个层,但是不好用,因为我的浏览器安装了一个插件,这个插件会动态向页面插入一个iframe ...