好程序員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還有很多強大的特性,我們會在後面學習到。

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