1. 程式人生 > >MyBatis使用註解實現增刪改查

MyBatis使用註解實現增刪改查

使用Spring與MyBatis整合,即把mybatis資料來源的配置、事務的管理、SqlSessionFactory的建立以及資料對映器介面Mapper的建立交由spring去管理”,所以mybatis的配置檔案mybatis-config.xml中不需要再配置資料來源及事務,在業務層service實現時不需要手動地獲取SqlSession以及對應的資料對映器介面Mapper,通過spring的注入即可。

build.gradle

group 'com.xiya'
version '1.0-SNAPSHOT'

apply plugin: 'java'
apply plugin: 'idea'

sourceCompatibility = 1.8

repositories {
    maven {
        url 'http://maven.aliyun.com/nexus/content/groups/public/'
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.11'
    compile group: 'mysql', name: 'mysql-connector-java', version: '5.1.40'
    compile group: 'org.springframework', name: 'spring-context', version: '4.3.7.RELEASE'
    compile group: 'org.springframework', name: 'spring-jdbc', version: '4.3.7.RELEASE'
    compile group: 'org.mybatis', name: 'mybatis', version: '3.4.4'
    compile group: 'org.mybatis', name: 'mybatis-spring', version: '1.3.1'
    compile group: 'commons-dbcp', name: 'commons-dbcp', version: '1.4'
    compile group: 'log4j', name: 'log4j', version: '1.2.17'
    compile group: 'commons-logging', name: 'commons-logging', version: '1.2'
    compile group: 'commons-dbutils', name: 'commons-dbutils', version: '1.6'
}

tasks.withType(JavaCompile) {
    options.encoding = "UTF-8"
}
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <context:property-placeholder location="classpath:jdbc.properties"/>

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>
        <property name="mapperInterface" value="cn.bjut.mapper.PersonMapper"/>
    </bean>

</beans>
PersonMapper.java
package cn.bjut.mapper;

import cn.bjut.entity.Person;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * Created by N3verL4nd on 2017/6/6.
 */
public interface PersonMapper {
    @Select("SELECT * FROM persons WHERE id = #{id}")
    Person selectPerson(int id);

    @Select("SELECT * FROM persons")
    List<Person> selectAllPerson();

    @Delete("DELETE FROM persons WHERE id = #{id}")
    void deletePerson(int id);

    @Update("UPDATE persons SET name = #{name}, age = #{age} where id = #{id}")
    void update(Person person);

    @Insert("INSERT INTO persons(name, age) VALUES(#{name}, #{age})")
    void insert(Person person);
}
我們使用註解替換了對映檔案,實際上,MyBatis的配置檔案也是可以省略的,因為大部分的內容我們都交由Spring管理了。

測試:

import cn.bjut.entity.Person;
import cn.bjut.mapper.PersonMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

/**
 * Created by N3verL4nd on 2017/6/6.
 */
public class T {

    @Test
    public void test() {
        InputStream in = null;
        try {
            in = Resources.getResourceAsStream("mybatis-config.xml");
        } catch (IOException e) {
            e.printStackTrace();
        }
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(in);
        SqlSession sqlSession = sqlSessionFactory.openSession();

        PersonMapper personMapper = sqlSession.getMapper(PersonMapper.class);
        Person person = personMapper.selectPerson(1);
        System.out.println(person);
        sqlSession.close();
    }

    @Test
    public void testSM() {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        PersonMapper personMapper = ctx.getBean(PersonMapper.class);
        //Person person = personMapper.selectPerson(1);
        //System.out.println(person);
        List<Person> list = personMapper.selectAllPerson();
        list.forEach(System.out::println);

        //DELETE
        //personMapper.deletePerson(8);

        //UPDATE
        //Person person = personMapper.selectPerson(9);
        //person.setAge(30);
        //personMapper.update(person);

        //INSERT
        //Person person = new Person("李廣輝", 25);
        //personMapper.insert(person);

        //SELECT
        //list = personMapper.selectAllPerson();
        //list.forEach(System.out::println);
    }
}
整體結構圖:


相關推薦

MyBatis使用註解實現刪改

使用Spring與MyBatis整合,即把mybatis資料來源的配置、事務的管理、SqlSessionFactory的建立以及資料對映器介面Mapper的建立交由spring去管理”,所以mybatis的配置檔案mybatis-config.xml中不需要再配置資料來源及

idea使用SpringBoot和Spring和Mybatis實現刪改

需求: 使用新SSM來實現增刪改查 步驟 第一步:看最終包結構 糾正:資料庫連線池部分還有整合mybatis和springboot 這裡主要是匯入依賴的jar包 第二步:配置pom.xml 導包springBoot支援jdk1.8

微服務架構實戰篇(三):Spring boot2.0 + Mybatis + PageHelper實現刪改和分頁查詢功能

簡介 該專案主要利用Spring boot2.0 +Mybatis + PageHelper實現增刪改查和分頁查詢功能,快速搭建一套和資料庫互動的專案。 小工具一枚,歡迎使用和Star支援,如使用過程中碰到問題,可以提出Issue,我會盡力完善該Starter 版本基礎

ztree與springmvc+spring+mybatis整合實現刪改

 在springmvc+spring+mybatis裡整合ztree實現增刪改查,上一篇已經寫了demo,下面就只貼出各層實現功能的程式碼: Jsp頁面實現功能的js程式碼如下: <script> //用於捕獲分類編輯按鈕的 click 事件

mybatis3使用@Select等註解實現刪改

1.需要的jar包 2.目錄樹 3.具體程式碼 一.需要的jar包 第一個:mybatis的jar包 第二個:mysql資料的驅動 二.目錄樹 三.具體程式碼 使用框架,配置檔案先行! c

Java註解實現刪改CRUD

以前,我們都把對資料庫的增刪改查語句寫在xml檔案中(詳見:《程式設計師成長筆記(一)》第三部分,第四章,第四節)。 由於Java註解的簡潔高效,在Java註解的思想(幹掉xml)下,現在越來越多的人使用java註解來進行增刪改查操作。 而且MyBatis3也支援並鼓勵我

Spring Boot入門系列(十八)整合mybatis,使用註解的方式實現刪改

之前介紹了Spring Boot 整合mybatis 使用xml配置的方式實現增刪改查,還介紹了自定義mapper 實現複雜多表關聯查詢。雖然目前 mybatis 使用xml 配置的方式 已經極大減輕了配置的複雜度,支援 generator 外掛 根據表結構自動生成實體類、配置檔案和dao層程式碼,減輕很大一

SpringBoot整合Mybatis實現刪改的功能

ger 開始 pan ble img 映射 講師 -name date SpringBoot框架作為現在主流框架之一,好多框架都漸漸的移植到SpringBoot中來。前面我給大家介紹過redis,jpa等等的的整合,今天在這裏給大家介紹一下Mybatis的整合過程。 S

MyBatis-Spring(二)--SqlSessionTemplate實現刪改

允許 ref ack part basic pre 就是 path pda SqlSessionTemplate是個線稱安全的類,每運行一個SqlSessionTemplate時,它就會重新獲取一個新的SqlSession,所以每個方法都有一個獨立的SqlSession,這

myBatis註解-普通刪改

註解也是mybatis的特色之一,可以簡化大量的檔案配置。 接下來,對一個表進行增刪改查操作   <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/P

Mybatis實現刪改、模糊查詢、多條件查詢

專案總體結構如下: 資料庫準備:在 資料庫dbmybatis中建立一張category的表,我錄入了幾條記錄方便測試,表字段結構如下圖: 1.建立好了表後使用idea新建一個Maven專案,pom.xml加入如下依賴: <dependencies> &

mybatis學習筆記(2)兩種配置實現刪改

第二天學習mybatis,發現框架的存在確實是省了我們很多時間,我們完全可以把一些操作簡化,或者實現簡單的封裝提供我們使用。昨天是跟著教程雲裡霧裡的實現了配置,今天再次使用就方便很多。 String resource="conf.xml"; //使用類載入myba

SpringBoot+mybatis實現刪改

SpringBoot+mybatis實現增刪改查 1.建立一個專案。 2.用mybatis逆向工程建立,還不會逆向工程的看我上一篇文章 Mybatis逆向工程建立方法 3.建立好會有如下圖的三個檔案 4.新建一個controller資料夾在裡面新建一個PersonController類

Mybatis使用註解進行刪改

// 增public interface StudentMapper{ @Insert("insert into student (stud_id, name, email, addr_id, phone)values(#{studId},#{name},#{email},#{address.

springboot整合mybatis實現刪改流程以及易錯點

Springboot+mybatis+mysql實現增刪改查操作。 在昨天學習的springboot的入門程式上進行擴充套件開發。首先建立好專案目錄結構,如圖: 整個流程類似ssm整合,controller—》service—》dao ,介面訪問xml。這個寫完的結構

初次詳細搭建SpringBoot+Mybatis+mysql+swagger+Lombok實現刪改的功能DOM

話不多說直接進入正題,就是這麼果斷與風騷。 下載安裝外掛 在搭建專案前需要準備些前提工作,方便咱們後續搭建專案。需要下載安裝和配置gradle及swagger所需要的檔案。 下載配置環境變數gradle 安裝JDK8(必須是JDK或JRE7以上,使用java

利用mybatis實現刪改 的小專案,單表,雙表一對多,

簡介: MyBatis 本是apache的一個開源專案iBatis, 2010年這個專案由apache software foundation 遷移到了google code,並且改名為MyBatis 。2013年11月遷移到Github。 iBATIS一詞

springmvc配置myBatis,並實現刪改、分頁功能

springmvc配置myBatis      myBatis是一個數據庫訪問的外掛,通過jdbc實現。      實現思路:      1.maven引入myBatis <!-- mybatis核心包 --> <dependenc

Spring+SpringMVC+Mybatis實現刪改--(六)SSM刪除、批量刪除員工的實現

Spring+SpringMVC+Mybatis實現增刪改查--(六)SSM刪除、批量刪除員工的實現單個刪除: 批量刪除  刪除邏輯1.單個刪除URI:/emp/{id} DELETE(1)給刪除按鈕繫結上員工的ID號(2)單個刪除按鈕的點選事件(3)員工刪除的方法2.全選複

使用springmvc+mybatis實現刪改並進行登入註冊功能

一、第一次使用springmvc+mybatis整合出的框架,使用的是maven版本 1.使用maven有以下主要要建立maven資料夾,匯入maven包並進行配置環境變數,在後面的文章中會提到maven配置。使用maven主要是依賴其pom.xml配置檔案進行匯入jar包