1. 程式人生 > >MyBatis的增刪改查基本操作

MyBatis的增刪改查基本操作

MyBatis和Hibernate的使用基本一樣,區別在於Hibernate在Java程式碼中實現資料庫操作,整合度高;Mybatis在註解或者xml檔案中通過配置實現SQL語句,更加靈活

建立使用MyBatis的Java專案

1. 建立並配置

  • 配置log4j.properties(用於檢視執行的SQL語句,日誌等)
log4j.rootLogger=DEBUG,Console

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache
.log4j.PatternLayout log4j.appender.Console.layout.ConversionPattern=%d[%t]%-5p[%c]-%m%n log4j.logger.java.sql.ResultSet=INFO log4j.logger.org.apache=INFO log4j.logger.java.sql.Connection=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
  • 配置MyBaits的配置檔案
<?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/mybatis?useSSL=false" /> <property name="username" value="root" /> <property name="password" value="123456" /> </dataSource> </environment> </environments> <!-- 對映檔案 --> <mappers> <mapper resource="map/query.xml" /> <mapper resource="map/insert.xml" /> <mapper resource="map/update.xml" /> <mapper resource="map/delete.xml" /> </mappers> </configuration>

2.實現增刪改查操作

  • 建立和資料庫表對應的JavaBean
  • 建立相應的檔案
  • 通過Java中呼叫實現相關操作
//載入配置檔案並初始化
public class InsertTest {
    public static void main(String[] args) {
        String resource = "map/mybatis.xml";

        Reader reader = null;
        SqlSessionFactory factory = null;
        SqlSession session = null;

        try {
            reader = Resources.getResourceAsReader(resource);
            factory = new SqlSessionFactoryBuilder().build(reader);
            session = factory.openSession();

            /**
            *具體功能實現部分
            **/

            session.commit();
        } catch (IOException e) {
            session.rollback();
            e.printStackTrace();
        } finally {
            session.close();
        }

    }
}
  • insert.xml

    <!-- 插入新資料 -->
    <!-- 語句的id,傳入的資料型別,語句型別為預編譯語句,主鍵是id,由資料庫處理主鍵值 -->
    <insert id="insert" parameterType="pojo.User" statementType="PREPARED"
        keyProperty="id" useGeneratedKeys="true">
        insert into mybatis(name,password)
        values(#{name},#{password})
    </insert>
  • insert實現
    User user = new User(1, "果粒橙", "果粒橙");
    session.insert("insert", user);

  • delete.xml
    <!-- 刪除資料 -->
    <delete id="deleteByObject" parameterType="pojo.User">
        delete from mybatis
        where id = #{id}
    </delete>
    <delete id="deleteByID" parameterType="int">
        delete from mybatis where
        id = #{id}
    </delete>
  • delete實現
        // 通過物件刪除
        User user = new User();
        user.setId(3);
        session.delete("deleteByObject", user);

        // 通過ID刪除
        session.delete("deleteByID", 2);
  • update.xml

    <!-- 更新資料 -->
    <!-- id,插入的資料型別 -->
    <update id="update" parameterType="pojo.User">
        update mybatis set name=#{name},password=#{password}
        where id = #{id}
    </update>
  • update實現
    User user = new User(3, "益達", "你的益達");
    session.update("update", user);
  • query.xml
    <!-- 根據ID查詢一個結果,返回值型別為User物件 -->
    <select id="queryUser" resultType="pojo.User">
        select * from mybatis where id = #{id}
    </select>

    <!-- 查詢多個結果,返回值型別為User物件 -->
    <select id="queryUsers" resultType="pojo.User">
        select * from mybatis
    </select>

    <!-- 查詢多個結果,返回resultMap -->
    <resultMap type="pojo.User" id="queryResultMap">
        <id column="id" property="id"></id>
        <result property="name" column="name" />
        <result property="password" column="password" />
    </resultMap>
    <select id="queryMap" resultMap="queryResultMap">
        select * from mybatis
    </select>
  • query實現
    // 返回一個查詢結果,返回resultType
    User user = session.selectOne("queryUser", 1);
    System.out.println(user.getName());

    // 返回多個查詢結果,返回resultType
    List<User> results = session.selectList("queryUsers");
    for (User user1 : results) {
        System.out.println(user1.getName() + "---" + user1.getPassword());
    }

    // 返回多個結果,返回resultMap
    List<User> results1 = session.selectList("queryMap");
    for (User user2 : results1) {
        System.out.println(user2.getName() + "---" + user2.getPassword());
    }

  • 表

專案下載

相關推薦

例項介紹MyBatis刪改基本操作

通過上一篇部落格《MyBatis的入門介紹》我們瞭解了MyBatis基本原理 這篇我們就說說它的增刪改查基本操作 例項應用 建立Java Product專案,目錄結構如下: 資料庫結構如下 conf.xml檔案內容 <?xml version=

搭建MyBatis工作環境以及刪改基本操作

read generated artifact this close sco del url eal 數據庫準備 創建一個數據庫為mybatus-test,表為user CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_I

MyBatis刪改基本操作

MyBatis和Hibernate的使用基本一樣,區別在於Hibernate在Java程式碼中實現資料庫操作,整合度高;Mybatis在註解或者xml檔案中通過配置實現SQL語句,更加靈活 建立使用MyBatis的Java專案 1. 建立

XML模塊刪改基本操作

讀取 try element utf-8 文檔 ldo nco nbsp 基本 增:新建一個xml文件,把數據寫進去 # 怎麽生成一個xml文件? # 1,導入模塊 import xml.etree.ElementTree as et # 2, 定義節點 root =

Oracle-資料庫刪改基本操作

一、建立資料表 1).建立不存在的新表:  create table tname(   Data_Name Date_Type [default][預設值]  ); 2).建立已存在表的副本  create table emp1 as selec

git入門學習一(git安裝,刪改基本操作命令)

git 工作區 暫存區 版本庫 在當前目錄新建一個Git程式碼庫 git init (會多出.git資料夾) 設計提交程式碼時的使用者資訊 :git config --global  user.name zhangsan    git config --glob

Oracle 刪改基本操作

Oracle是甲骨文公司旗下的一款關係型資料庫,是一款較為主流的資料庫軟體,下面主要介紹一下oracle的一些基本操作 1.增加資料 增加資料的關鍵詞為insert into 其語法結構為 insert into 表名(欄位)values(對應的值),當要對全部內容進行新

mongodb php刪改基本操作

剛學習mongodb,現在網上的資料還比較少,讀了一本mongodb權威指南,介紹的內容不是很全面。七零八湊找了些對mongo資料庫的基本增刪改查操作。 $mongo = new Mongo(); $db = $mongo->selectDB('test'); $co

mongodb刪改基本操作

有的真想不到,在昆明這樣的地方居然也有企業在使用非關係型資料庫mongodb,因此無論如何都要掌握一點非關係資料庫的基本知識,這次我整理了一點mongodb最基本的增刪改查操作 1.插入資料 簡單的表結構可能就只是單列的json,但是如果情況比較複雜還可能出現巢狀的情況,這

jpa資料庫刪改基本操作

1.插入一條資料(儲存實體)save(T entity) 2.查詢一個特定實體findOne(Id) 3.刪除指定實體delete(T entity);delete(Id); 4.更新實體@Transaction@Modifying@Query("update Custom

【pandas】[2] DataFrame 基礎,建立DataFrame和刪改基本操作(1)

作者:lianghc 地址:http://blog.csdn.net/zutsoft         DataFrame 是pandas最常用的資料結構,類似於資料庫中的表,不過DataFrame不僅僅限制於2維,可以建立多維資料表。DataFrame既有行索引,也有列

ldap的刪改基本操作

public class Factory { private static Ldap instance; public synchronized static Ldap creatInstance(){ if(instance==null)

MyBatis 學習總結 02 對表執行刪改(CRUD)操作 OLD

去除 dev ins tlist 只需要 獲取 exception ref ssi    可以對上一節中使用mybatis打開一次session的業務邏輯進行封裝,封裝的成工具類命名為: MyBatisUtil package com.mybatis.util;

MyBatis刪改操作Demo

第一步:導包:mybatis及jdbc connector.jar 第三步:配置表和類的對映檔案,實體類名.xml(在裡面寫sql語句) 第四步:建立資料庫會話session,進行增刪改查 檔案目錄 SqlMapConfig.xml <

MyBatis對錶執行CRUD(刪改操作

Mybatis的好處是sql與程式碼的分離,以及能夠輕鬆使用自定義的sql 下面以小例子的形式來講解一下Mybatis的增刪改查: 有以下兩種方式: 1.基於XML 2.基於Annotation 前提:資料庫那邊只需要建立一張user表:create table use

數據庫表--刪改操作實例

數字電路 查看 varchar 數學 sna 成績 同學 part 及其 一、設置數據庫 包括四個表:學生表(Student)、課程表(Course)、成績表(Score)以及教師信息表(Teacher)。四個表的結構分別如表1-1的表(一)~表(四)所示,數據如表1-2的

Mybatis刪改

spa cte 用戶名 .org org 根據 pro factory sql查詢 1 Mybaits入門 1.1 需求列表 根據用戶ID查詢用戶信息 根據用戶名查找用戶列表 添加用戶 修改用戶 刪除用戶 1.2 工程搭建 導入依賴jar包,在課前資源中有 配置SqlMa

Python字典中刪改操作

增:字典中的增加鍵值對與列表相差無幾,例:dic = {'name1':'tom'}    實現增加的操作:dic['name2'] = 'Jack'   注意不要忘記加''(上引號) 刪:三種方法,dic.pop('key'),可

python連線MongoDB資料庫方法及刪改操作小結。

Y9   建議安裝MongoDB視覺化工具“Robo 3T”,可以很直觀的看到對MongoDB操作後的資料。 1、‘Robo 3T’的安裝,網上很多途徑可下載,在此分享我使用的版本: 連結:https://pan.baidu.com/s/1EcjmUVkXz1GQeTXy2fMk

一、mybaitis的刪改簡單操作

1、匯入jar包 mysql-connector-java-5.1.7-bin.jar mybatis-3.2.7.jar 2、db.propertiese jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localho