1. 程式人生 > 資料庫 >非常簡單的 spring cloud + mybatis + 註解方式 讀寫MySQL資料庫

非常簡單的 spring cloud + mybatis + 註解方式 讀寫MySQL資料庫

非常簡單的 spring cloud + mybatis + 註解方式 讀寫MySQL資料庫

前注:本是使用STS工具

Step1:

在application.properties配置資料庫訪問資訊(application.yml類似,你懂的)

注意下面的testdb是資料庫名。資料庫名和賬號密碼要按實際的修改。

#配置資料庫資訊
spring.datasource.url=jdbc:mysql://localhost:3306/testdb?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#下面這句用來設定HTTP服務的埠
server.port=80

Step2:

在pom.xml新增依賴

<dependency>
	<groupId>org.mybatis</groupId>
	<artifactId>mybatis-spring</artifactId>
	<version>1.3.2</version>
</dependency>

<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.2</version>
</dependency>

Step3:

為了測試,我們在MySQL資料庫testdb建立一個表t_user,並新增兩條記錄

use testdb;
DROP TABLE IF EXISTS t_user;
CREATE TABLE t_user (
  id int(11) NOT NULL AUTO_INCREMENT,username varchar(255) DEFAULT NULL,city varchar(255) DEFAULT NULL,age int,PRIMARY KEY (id)
);

INSERT INTO t_user(username,city,age) VALUES ( '小明','香港',88);
INSERT INTO t_user(username,age) VALUES ( '小華','深圳',55);

Step4:

建立一個User類(注意我是把這個類放進自建的model目錄的)

package com.sleepingbug.dbtest.model;

import java.io.Serializable;

public class User implements Serializable{
	
	private static final long serialVersionUID = 4639927446947303736L;

	private int id;
	private String userName;
	private int age;
	private String city;
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getCity() {
		return city;
	}
	public void setCity(String city) {
		this.city = city;
	}

}

Step5:

建立一個UserDao類(注意,我把這個類放進了自建目錄dao)

這個類就是讀寫資料庫的。

特別注意,UserDao上面有一個@mapper註解

package com.sleepingbug.dbtest.dao;


import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import com.emeet.emdbtestiii.model.User;


@Mapper
public interface UserDao {

	@Select(value="select id,userName,age,city from t_user where id = #{id,jdbcType=INTEGER}")
	User getUser(Long id);

	@Select(value="select id,city from t_user")
	List<User> listUser();

	@Insert(value="insert into t_user (id,city) values ( #{id,jdbcType=INTEGER},#{userName,jdbcType=VARCHAR},#{age,#{city,jdbcType=VARCHAR})")
	int addUser(User user);

	@Update(value="update t_user set userName = #{userName,age = #{age,city = #{city,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER}")
	int updateUser(User user);

	@Delete(value=" delete from t_user where id = #{id,jdbcType=INTEGER}")
	int deleteUser(Long id);

}

Step6:

在Application類新增mapper掃描mapper的路徑。這裡是指剛才UserDao的路徑:

@MapperScan(basePackages="com.sleepingbug.dbtest.dao")

package com.sleepingbug.dbtest;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
//Howard 2020-01-28 細節決定成敗,注意掃描路徑
@MapperScan(basePackages="com.sleepingbug.dbtest.dao")
public class MydbTestApplication {

	public static void main(String[] args) {
		SpringApplication.run(EmdbTestIiiApplication.class,args);
	}

}

至此,其實就可以通過建立一個UserDao物件來訪問資料庫了。

一般這麼建立:

	@Autowired
	private UserDao userDao;