非常簡單的 spring cloud + mybatis + 註解方式 讀寫MySQL資料庫
阿新 • • 發佈:2020-01-28
非常簡單的 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;