最近複習springboot 還是記錄一下吧
本測試只結合mybatis, 想結合springmvc的只需要在構建 springboot項目的時候, 添加一下 Web的依賴就行了.如下的依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
好了開始寫步驟(使用idea+maven):
需要的表名:
CREATE TABLE `account` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL,
`money` DOUBLE DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
INSERT INTO `account` VALUES ('1', 'a', '1000');
INSERT INTO `account` VALUES ('2', 'b', '1000');
INSERT INTO `account` VALUES ('3', 'c', '1000');INSERT INTO `account` VALUES ('4', ' d', '1000');
1 創建工程,填寫名稱
2 引入依賴 然後一路向下 就ok了
首先說一下 使用xml映射文件的方式: 這是目錄
3 配置 :
pom依賴
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.wenbin.springboot</groupId>
<artifactId>springboot-mybatis</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-mybatis</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#如果你數據庫是8版本的,此處需要更改,百度下,懶得查了
spring.datasource.url=jdbc:mysql://localhost:3306/zuoye?useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root
#此處是設置別名
mybatis.type-aliases-package=com.wenbin.springboot.springbootmybatis.model
#這裏是 mapper文件的地址, 我放在了source下面
mybatis.mapperLocations=classpath:source/*Mapper.xml
4 各類代碼 啓動類需要加上
配置 包掃描 包名 就是 dao層的mapper接口 @MapperScan("com.wenbin.springboot.springbootmybatis.dao")
service層 接口和實現類
接口類
public interface AccountService {
void update(Account2 account2) ;
}
實現類
@Service
public class AccountServiceImpl implements AccountService {
@Autowired
private Account2Mapper account2Mapper;
@Override
public void update(Account2 account2) {
int update = account2Mapper.update(900.0, 4);
}
}
mapper
//mapper接口
public interface Account2Mapper {
int update(@Param("money") double money, @Param("id") int id);
}
//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.wenbin.springboot.springbootmybatis.dao.Account2Mapper">
<update id="update" >
UPDATE account set money=#{money} WHERE id=#{id}
</update>
</mapper>
開始測試, 我是放在了 springboot測試裏面
右鍵然後運行改方法: 成功運行;
下面是使用 非xml ,而是註解的方式
其實很簡單, 把xml去掉了
然後在 mapper接口上面 添加
@Mapper
在 接口方法上添加註解然後 寫sql
我只實現了 添加, 其餘的crud操作就不進行測試了.
重點說一下參數:
@Param參數, mybatis啓動的時候會掃描這個註解, 會涉及到源碼,簡單聊一下 ,mybatis在掃描這些接口的時候, 會按照接口名, 方法名,和 xml對應關係 存到一張 哈希表裏面 , 如果是 實體類就是實體類的名字就行, 然後sql中參數裏面 就按照我那麼寫就ok
如果你只是 基本數據類型的話, 那就更簡單了 如下
@Insert("insert into account (id, name )value (null,#{name})")
int add(@Param("name") String name);
----------------------------------------------------------------以上-----有問題隨時討論研究哈------共勉------------------------------------------------
---------------------------------------------------------------鳴謝以下-----------------------------------------------------------------------------
博客大佬 方誌鵬 以及 江南一點雨 以及 純潔的微笑
https://blog.csdn.net/forezp/article/details/70768477 其餘鏈接就不貼了,都是我遇到的一些小問題, 如果你有問題歡迎在下方留言