Mybatis框架简单使用

环境搭建

新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等。

加入配置文件

  1. 在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
  1. 在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
  1. 在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();

转载于:https://www.cnblogs.com/fly-me/p/9144252.html

Mybatis框架简单使用相关推荐

  1. MyBatis框架简单实现

    MyBatis框架简单实现 1. MyBatis框架概念 2. MyBatis框架原理分析 3. MyBatis框架实现验证 1. MyBatis框架概念 mybatis三种实现方式 mybatis提 ...

  2. Mybatis 框架简单实现(一)

    最近复习一下Mybatis的简单用法,搭了一个非常简单的mybatis小练习,现将代码放置如下,方便以后学习. 我们都知道mybatis是支持sql查询.存储过程和高级映射的持久层框架. 我们来搭一个 ...

  3. mysql可以使用mybaties框架吗_搭建一个简单的mybatis框架

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  4. MyBatis框架 拦截器简单使用

    Interceptor 是MyBatis提供的一个插件(plugin扩展).代表拦截器,可以拦截代码中的数据库访问操作,即Statement操作 拦截后,可以去修改正在执行的SQL语句,可以额外访问数 ...

  5. mybatis框架执行原理简单实现

    mybatis实现数据库交互的原理 反射+jdk动态代理 我们在使用传统的JDBC做数据库交互的时候,要想对返回的结果进行处理,需要通过反射和结果集的游标进行层层解析,是不是觉得很麻烦,确实尤其当我们 ...

  6. MyBatis框架概述

    MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动.创建connection.创建statement.手动设 ...

  7. Mybatis入门:1(Mybatis框架的环境搭建)

    Mybatis框架的环境搭建 一.创建maven工程并导入坐标 导入坐标: <dependencies><dependency><groupId>org.mybat ...

  8. spring mvc + mybatis 框架搭建 ( idea + gradle)

    spring mvc + mybatis 框架搭建 idea + gradle 刚刚入门,只是个人见解,如有错误或者问题欢迎指出指正. 邮箱: [ wgh0807@qq.com ] 文章引用: [ap ...

  9. Hibernate学习总结【比较与Mybatis框架之间的区别】

    经过一周的Hibernate学习,我理解了作为以JPA为核心的持久层查询标准.JPA所涉及的思想为ORM(object relational mapping),它解释了为什么我们的实体关系要和数据库一 ...

最新文章

  1. 循环IRNNv2Layer实现
  2. WMI技术介绍和应用——查询磁盘分区和逻辑磁盘信息
  3. Confluence 6 计划任务
  4. windows如何禁止onenote自启
  5. 异常分发(内核异常)
  6. 【原】动态申请二维数组并释放的三种方法
  7. 《实战突击.php项目开发案例整合》.(明日科技).[PDF]ckook
  8. 跟苹果在一起:腾讯音乐与Apple Music达成全球合作
  9. (Spring+SpringMVC+mybatis)SSM企业职工工资管理系统
  10. Python之GUI编程 实现界面化的词云图生成器.exe
  11. lighttpd 记录
  12. 318. 最大单词长度乘积【我亦无他唯手熟尔】
  13. 重置CAD 或者Civil 3d的所有环境
  14. 网站颜色是怎么变成灰色的了
  15. 比尔盖兹的十一项人生建议
  16. 计算机本地用户名称怎么改win10系统,win10系统如何设置本地账户用户名
  17. 性能测试结果分析思路
  18. 为什么正则表达式中.*可以匹配任意字符?
  19. HTML标签根据浏览器窗口大小自适应
  20. 关于自己开发财务管理系统的个人总结

热门文章

  1. swift版的StringAttribute
  2. 获取存储过程返回值及代码中获取返回值(转)
  3. 父窗体中弹出新窗体,然后获取弹出窗体的返回值。
  4. 战网下载CDN重定向失败_卧槽,又开源一个下载神器,利用各种平台下载任意文件...
  5. MapReduce之collect过程分析
  6. GroupMetadataManager分析
  7. (15)ZYNQ FPGA AXI-stream总线简介(学无止境)
  8. (73)多路选择器(二选一)
  9. (43)Xilinx RAM IP核配置(四)(第9天)
  10. (1)zynq FPGA简介