2020-01-12使用mybatis连接数据库

myBatis与之前的spring中repository连接比较

myBatis相对来说配置会比较麻烦,但是优点在于mybatis对数据库的语言操作更加自由

程序部署

创建Maven文件

编辑pom.xml

用于下载项目所需要的依赖

<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>

创建application.properties配置文件

文件目录放在src/main/resources目录下,配置连接数据库的相关数据例如账号密码,以及制定操作哪个表等

#数据库连接
#指定连接数据库位置
spring.datasource.url=jdbc:mysql://localhost/myweb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
#设置数据库登陆账号
spring.datasource.username=root
#设置数据库登陆账号(我的数据库没设密码所以为空)
spring.datasource.password= 
#设置数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#配置mapper.xml文件存放路径
#设置映射器位置
mybatis.mapper-locations=classpath:mapper/*.xml
#自动更新数据库结构
spring.jpa.properties.hibernate.hbm2ddl.auto=update
//设置数据库的语言类型
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect

配置Mapper.xml文件

配置位置在src/main/resources/mapper/文件夹下,用于对应实体类编写数据库内容

<?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>

创建控制器以及是对象,这个就可以参考之前的springboot搭建

创建TeacherMapper接口

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

}

创建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);
    
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,079评论 0 4
  • 一步一步的搭建JAVA WEB项目,采用Maven构建,基于MYBatis+Spring+Spring MVC+B...
    叶子的翅膀阅读 14,349评论 5 25
  • 1 快速入门 1.1 准备开发环境 1.1.1 创建工程项目 1、创建测试项目,普通java项目或者是Java...
    Kevin_Junbaozi阅读 3,321评论 0 1
  • 每个线程都应该有它自己的SqlSession实例。SqlSession的实例不能共享使用,它是线程不安全的 配置文...
    蕊er阅读 3,258评论 0 0
  • 是夜 白日的喧嚣渐渐归于平静 静坐于床前 思绪飘飞 前路两茫茫 有些事 终归不能成为过往 有些人 终究成为了过客 ...
    雅灵看世界阅读 988评论 0 0