最近复习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 其余链接就不贴了,都是我遇到的一些小问题, 如果你有问题欢迎在下方留言