2020-01-12使用mybatis連接數(shù)據(jù)庫

myBatis與之前的spring中repository連接比較

myBatis相對(duì)來說配置會(huì)比較麻煩,但是優(yōu)點(diǎn)在于mybatis對(duì)數(shù)據(jù)庫的語言操作更加自由

程序部署

創(chuàng)建Maven文件

編輯pom.xml

用于下載項(xiàng)目所需要的依賴

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>test2</groupId>
  <artifactId>test2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
  <name>test2</name>
  <url>http://maven.apache.org</url>
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath /> <!-- lookup parent from repository -->
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        
        <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
        </dependency>
       //mybatis的依賴
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.2.0</version>
        </dependency>


        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.21</version>
        </dependency>

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.mybatis.spring.boot/mybatis-spring-boot-starter -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.1.1</version>
</dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

創(chuàng)建application.properties配置文件

文件目錄放在src/main/resources目錄下,配置連接數(shù)據(jù)庫的相關(guān)數(shù)據(jù)例如賬號(hào)密碼,以及制定操作哪個(gè)表等

#數(shù)據(jù)庫連接
#指定連接數(shù)據(jù)庫位置
spring.datasource.url=jdbc:mysql://localhost/myweb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
#設(shè)置數(shù)據(jù)庫登陸賬號(hào)
spring.datasource.username=root
#設(shè)置數(shù)據(jù)庫登陸賬號(hào)(我的數(shù)據(jù)庫沒設(shè)密碼所以為空)
spring.datasource.password= 
#設(shè)置數(shù)據(jù)庫驅(qū)動(dòng)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置mapper.xml文件存放路徑
#設(shè)置映射器位置
mybatis.mapper-locations=classpath:mapper/*.xml
#自動(dòng)更新數(shù)據(jù)庫結(jié)構(gòu)
spring.jpa.properties.hibernate.hbm2ddl.auto=update
//設(shè)置數(shù)據(jù)庫的語言類型
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

配置Mapper.xml文件

配置位置在src/main/resources/mapper/文件夾下,用于對(duì)應(yīng)實(shí)體類編寫數(shù)據(jù)庫內(nèi)容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.test.testmybatis.mapper.TeacherMapper">
    <resultMap id="BaseResultMap" type="com.test.testmybatis.entity.TeacherBean">
        <result column="tec_id" property="tecId" jdbcType="VARCHAR"/>
        <result column="tec_name" property="tecName" jdbcType="VARCHAR"/>
        <result column="tec_age" property="tecAge" jdbcType="INTEGER"/>
        <result column="tec_desc" property="tecDesc" jdbcType="VARCHAR"/>

    </resultMap>

    <sql id="Base_Column_List">
      tec_id, tec_name, tec_age,tec_desc
    </sql>

    <select id="getTeacherById" resultMap="BaseResultMap" parameterType="java.lang.String">
      select
        <include refid="Base_Column_List" />
      from teacher
      where tec_id = #{id}
    </select>

創(chuàng)建控制器以及是對(duì)象,這個(gè)就可以參考之前的springboot搭建

創(chuàng)建TeacherMapper接口

public interface TeacherMapper {
/**
* 通過id查詢老師信息
* @param id id
* @return teacher信息
*/
public TeacherBean getTeacherById(@Param("id") String id);

}

創(chuàng)建Service層

package com.test.testmybatis.servise;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.test.testmybatis.entity.TeacherBean;
import com.test.testmybatis.mapper.TeacherMapper;
@Service
public class TeacherService {s
     @Autowired
     private TeacherMapper Teacher;

     public TeacherBean queryTeacher(String id){
       return Teacher.getTeacherById(id);
    
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 簡介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 6,248評(píng)論 0 4
  • 一步一步的搭建JAVA WEB項(xiàng)目,采用Maven構(gòu)建,基于MYBatis+Spring+Spring MVC+B...
    葉子的翅膀閱讀 12,904評(píng)論 5 25
  • 1 快速入門 1.1 準(zhǔn)備開發(fā)環(huán)境 1.1.1 創(chuàng)建工程項(xiàng)目 1、創(chuàng)建測試項(xiàng)目,普通java項(xiàng)目或者是Java...
    Kevin_Junbaozi閱讀 528評(píng)論 0 1
  • 每個(gè)線程都應(yīng)該有它自己的SqlSession實(shí)例。SqlSession的實(shí)例不能共享使用,它是線程不安全的 配置文...
    蕊er閱讀 513評(píng)論 0 0
  • 是夜 白日的喧囂漸漸歸于平靜 靜坐于床前 思緒飄飛 前路兩茫茫 有些事 終歸不能成為過往 有些人 終究成為了過客 ...
    雅靈看世界閱讀 180評(píng)論 0 0

友情鏈接更多精彩內(nèi)容