Mybatis框架简单使用
Mybatis框架简单使用
环境搭建
新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等。
加入配置文件
- 在src路径下面,新建log4j.properties文件。
# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
- 在src路径下,新建jdbc.properties文件。
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8
jdbc.username=root
jdbc.password=root
- 在src路径下,新建mybatis.cfg.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>
<!--加载src下面的jdbc.properties-->
<properties resource="jdbc.properties"></properties>
<!--配置环境-->
<environments default="flyme">
<environment id="flyme">
<!--type="JDBC" 使用JDBC的进行提交和回滚管理事务-->
<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>
<!--添加映射-->
</configuration>
创建数据库以及表
创建命名为mybatis数据库,并且新建user表
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL COMMENT '用户名称',
`birthday` date DEFAULT NULL COMMENT '生日',
`sex` char(1) DEFAULT NULL COMMENT '性别',
`address` varchar(256) DEFAULT NULL COMMENT '地址',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8;
创建pojo包
在src路径下,创建com.flyme.mybatis.pojo包
pojo包作为mybatis进行sql映射使用,pojo包下的实体类一般与数据库中的表一一对应
1.在pojo包下,创建User.java文件,其中成员变量和user表中的属性一一对应,并且实现get/set方法
package com.flyme.mybatis.pojo;
import java.util.Date;
public class User {
private int id;
private String username;
private String sex;
private Date birthday;
private String address;
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 getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
sql映射文件
在com.flyme.mybatis.pojo包下,创建User.xml文件,命名必须与实体User一样
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
</mapper>
加载映射文件
mybatis框架需要加载Mapper.xml映射文件。
打开mybatis.xml,将User.xml路径配置到mybatis.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>
<!--加载src下面的jdbc.properties-->
<properties resource="jdbc.properties"></properties>
<!--配置环境-->
<environments default="flyme">
<environment id="flyme">
<!--type="JDBC" 使用JDBC的进行提交和回滚管理事务-->
<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>
<!--映射文件方式1,添加资源路径,默认为src路径-->
<mapper resource="com/flyme/mybatis/pojo/User.xml"/>
</mappers>
</configuration>
简单数据库操作
实现用户id查询
在User.xml文件中,添加select语句,来进行sql语言的拼接,来以进行对数据库的查询。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<select id="queryUserById" parameterType="int" resultType="com.flyme.mybatis.pojo.User">
select * from user where id = #{id}
</select>
</mapper>
在src路径下,创建com.flyme.mybatis.test包,并且创建MybatisTest.java测试类。
创建SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
加载mybatis.cfg.xml配置文件
InputStream inputStream = Resources.getResourceAsStream("mybatis.cfg.xml");
创建sqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
创建sqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
执行SqlSession对象执行查询
#queryUserById:在User.xml文件中,所设置id<select id = "queryUserById">,必须一致
Object user = sqlSession.selectOne("queryUserById", 1);
关闭sqlSession
sqlSession.close();
Mybatis框架简单使用的更多相关文章
- 搭建一个简单的mybatis框架
一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...
- SSM框架整合(Spring+SrpingMVC+Mybatis) 简单案例
简介: SSM框架是Spring,SpringMVC 和Mybatis框架的整合,是标准的MVC模式,将整个系统划分为表现层,controller层,service层,dao层四层. Spring实现 ...
- SSM框架之MyBatis框架实现简单的增删改查
MyBatis框架介绍 MyBatis是一个优秀的数据持久层框架,在实体类和SQL语句之间建立映射关系是一种半自动化的ORM实现,其封装性要低于Hibernate,性能优越,并且小巧,简单易学,应用也 ...
- Mybatis框架的简单运用
一.配置流程 1.流程示意图(通过XML映射文件实现): 2.流程: 2.1 导入包: 2.1.1 下载包 数据库驱动包(本文以MySQL为例):https://mvnrepository.com/a ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- Mybatis框架中实现双向一对多关系映射
学习过Hibernate框架的伙伴们很容易就能简单的配置各种映射关系(Hibernate框架的映射关系在我的blogs中也有详细的讲解),但是在Mybatis框架中我们又如何去实现 一对多的关系映射呢 ...
- Hibernate框架与Mybatis框架的对比
学习了Hibernate和Mybatis,但是一直不太清楚他们两者的区别的联系,今天在网上翻了翻,就做了一下总结,希望对大家有帮助! 原文:http://blog.csdn.net/firejuly/ ...
- 初识Mybatis框架,实现增删改查等操作(动态拼接和动态修改)
此第一次接触Mybatis框架确实是有点不适应,特别是刚从Hibernate框架转转型过来,那么为什么要使用Mybatis框架,Mybatis框架和Hibernate框架又有什么异同呢? 这个问题在我 ...
- SSM框架-----------SpringMVC+Spring+Mybatis框架整合详细教程
1.基本概念 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One ...
随机推荐
- 100baseT、100baseFX、1000base-SX、100/1000base-T
100baseT.100baseFX.1000base-SX.100/1000base-T 100baseT.100baseFX都是100Mbps速率基带传输系统,唯一的不同是100baseT用的是双 ...
- java 连接Kafka报错java.nio.channels.ClosedChannelExcep
Java 客户端连接Kafka报如下错误 java.nio.channels.ClosedChannelExcep 是由于Kafka server.properties中的advertised.hos ...
- c# 超长字符串截取固定长度后显示...(超长后面显示点点点) 通用方法
通用方法: 此方法是采用unicode编码方式,一个汉字为2个字节,一个数字or字母是1个字节,此方法传入的第二个长度参数是unicode长度. 所以不用考虑截取的字符串是汉字还是英文字母的问题,参数 ...
- HTML5之2D物理引擎 Box2D for javascript Games 系列 第一部分
我要的是能在H5页面上跑的javascript版的Box2D啊!!! 最近想学习Javascript版本的Box2D JS物理引擎,无奈搜了半天也没找到相对比较系统的资料 官方网站也只是简单的介绍,A ...
- windows 批处理文件调用exe
@echo offstart "" "C:\Users\Administrator\Desktop\testtaotao\Debug\testtaotao.exe&quo ...
- Servlet笔记3--Servlet生命周期
Servlet生命周期:
- 【LinuxC】GCC编译C程序,关闭随机基址
1.编译.链接和运行程序 C代码示例: #include <stdio.h> #include <stdlib.h> int main() { printf("hel ...
- Linux 查看内存插槽数、最大容量的方法
查看内存插槽数: dmidecode|grep -P -A5 "Memory\s+Device"|grep Size|grep -v Range 查看最大容量: dmidecode ...
- Error: No resource found that matches the given name (at 'icon' with value '@mipmap/Icon')
问题: error: Error: No resource found that matches the given name (at 'icon' with value '@mipmap/Icon' ...
- Operfire 安装指南
http://www.cnblogs.com/hoojo/archive/2012/05/13/2498151.html 本文的英文原文来自 http://www.igniterealtime.org ...