好程序员Java学习路线分享MyBatis之基本使用

  好程序员Java学习路线分享MyBatis之基本使用,前言,本章我们将开始学习一个非常优秀的ORM(对象关系映射)框架:MyBatis,它是目前企业中使用最多的数据库框架。

MyBatis简介
   MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
  MyBatis的优点有:
  1)代替JDBC完成CRUD,效率高
  2)上手容易,配置灵活
  3)是目前公司主流的ORM(对象关系映射)框架

MyBatis的基本配置
  这里我们使用Maven构建项目,
  首先需要导入MyBatis和MySQL驱动的依赖
  然后再添加配置文件,MyBatis的配置文件分为两种:
  1、MyBatis框架的总体配置文件
  2、MyBatis数据库映射文件
  
MyBatis配置文件
  我们可以在项目的resources目录中添加配置文件:mybatis-config.xml
1.<?xml version="1.0" encoding="UTF-8"?>
2.br>3."http://mybatis.org/dtd/mybatis-3-config.dtd">
4.
5.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.

映射文件
  MyBatis能实现通过Java对象来操作数据库,那么如何通过Java对象的操作来查询和修改数据库的表呢?MyBatis通过映射文件来配置数据的SQL操作,将Java对象的方法映射为具体的SQL语句。
  这里我们先编写一个UserDAO接口
26.package com.qianfeng.mybatis.dao;
27.public interface UserDAO
28.{
29.List selectAll();
30.void insert(User user);
31.}
  接下来我们来配置映射文件实现User表的查询和插入操作:
  
  在resources下创建mappers目录,然后创建映射文件:userMapper.xml
32.<?xml version="1.0" encoding="UTF-8"?>
33.br>34.PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
35."http://mybatis.org/dtd/mybatis-3-mapper.dtd">
36.
37.
38....
39.
  mapper中可以配置四种标签:
  1) 配置insert语句
  2) 配置update语句
  3) 配置delete语句
  4) 配置select语句
  这四种标签的常用属性有:
1)  id 对应DAO接口中的方法名
  2)parameterType 对应方法的参数类型
  3)returnType
   对应方法的返回值类型,如:User(表的字段名和类的属性名一样)
4)  returnMap
对应方法的返回值类型映射,用于表的字段名和类的属性名不一样的情况,实现字段名和属性的映射关系
  
  这里是insert配置示例
40.
41.insert into tb_user(u_name,u_password,u_realname,u_gender,u_age,u_img)
42.values(#{name},#{password},#{realname},#{gender},#{age},#{img})
43.
  其中#{...}中包含的是User对象的属性名称

  select配置示例
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.select * from tb_user
55.
  returnMap配置的查询语句返回的对象与数据库表的映射,id是映射名,type是对应的Java类型
  其中子标签id是配置表的主键,属性id是Java类的属性名,column是表的字段名,还有javaType和jdbcType属性可以配置Java的类型和Jdbc数据类型,这两个这里可以省略。
  result是配置除主键外的一般列

MyBatis的使用方法
主要步骤:
56.1)读取配置文件,创建SqlSessionFactory
57.SqlSessionFactory factory =
58.new SqlSessionFactoryBuilder().build(
59.Resources.getResourceAsStream("mybatis-config.xml"));
60.2)打开数据库会话Session
61.SqlSession sqlSession = factory.openSession();
62.3)获得DAO接口的代理对象
63.UserDAO mapper = sqlSession.getMapper(UserDAO.class);
64.4)执行CRUD
65.mapper.insert(...);
66.5) 提交事务
67.sqlSession.commit();
68.6) 关闭会话
69.sqlSession.close();
总结
  本章我们学习了MyBatis的基本配置,以及映射文件的写法,也掌握了MyBatis的基本操作方法,MyBatis还有很多强大的特性,我们会在后面学习到。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章