自定义项目:
用Spring Boot实现一个图书的增删改查的功能,供前端人员接口调用。
1.创建项目(略过)
网上实在太多教程,无需赘述。
项目groupId:com.csdn
artifactId:test
选择支持web,mybatis
2.创建mysql数据库。我使用的是MAC,需要注意的是数据库秘密我使用的是简易的秘密,使用工具连接数据库总出错,无奈删掉重装了好几次,顺便熟悉了mysql的基本配置,生命不息,折腾不止。
创建了一个自定义的库library,自定义的表tb_book,字段:book_id,book_name,book_author,book_time,book_price
建1条假数据。。。
3.设置工程
a.设置pom.xml,添加
#mysql的驱动
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
#数据库连接池
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
b.设置属性文件
server.port=8082 #项目端口
server.servlet.context-path=/demo #项目根路由
#连接mysql的library库地址
spring.datasource.url=jdbc:mysql://localhost:3306/library?useUnicode=true&characterEncoding=utf-8
#mysql密码
spring.datasource.password=123456
#mysql账号
spring.datasource.username=root
#使用默认GDBC驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#Mybatis
#配置mapper路径
mybatis.mapper-locations=classpath:mapper/**.xml
#设置mapper实体类位置
mybatis.type-aliases-package=com.csdn.test.entity
#设置mapper实体类使用小驼峰命名
mybatis.configuration.map-underscore-to-camel-case=true
4.修改源码
创建entity包,创建book类
//主键ID
private Integer bookId;
//作者
private String book_author;
//上市时间
private Date book_time;
//书本价格
private Double book_price;
创建dao包,建立BookDao类
//查询列表
List<Book> queryBook();
//单个查询
Book queryById(int bookId);
//插入书本
insertBook(Book book);
//更新书本信息
int updateBook(Book book)
//删除书本
int deleteBook(int bookId);
创建mapper映射文件BookMap.xml
<?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.csdn.test.dao.BookDao">
<select id="queryBook" resultType="com.csdn.test.entity.Book">
SELECT book_id,book_author,
book_time, book_price
FROM tb_book
</select>
....
</mapper>
5.在启动入口文件添加注解
@SpringBootApplication
@MapperScan(basePackages = "com.csdn.test.dao")
6.先启动单元测试:
@RunWith(SpringRunner.class)
@SpringBootTest
public class BookDaoTest {
@Autowired
private BookDao bookDao;
@Test
public void queryBook{
List<Book> bookList = bookDao.queryBook();
assertEquals(1,bookList.size());//数据库添加了一本书
}
}
7.添加service包
创建service层接口。。
创建service层实现。。
8.添加controller包
创建controller,接受参数,返回值。。。最终实现在前端调用接口,返回数据。