1.配置mybatis-config.xml
在资源目录resources中创建mybatis-config.xml文件,并引入dtd约束
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
</configuration>
2.数据配置文件database.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm-test?useSSL=true&useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
3.IDEA关联mysql数据库
IDEA关联MySQL数据库_w506667090的博客-CSDN博客
4.编写数据库对应的实体类
并使用lombok自动生成getter&setter方法和有参无参构造器,前提是IDEA中添加了lombok插件,如果没有可以下载lombok插件或手动生成相关方法。
package com.wanjl.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
@Data 注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法
@AllArgsConstructor 注在类上,提供类的全参构造
@NoArgsConstructor 注在类上,提供类的无参构造
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Books {
private int bookID;
private String bookName;
private int bookCounts;
private String detail;
}
5.编写dao层的mapper接口
package com.wanjl.dao;
import com.wanjl.pojo.Books;
import java.util.List;
public interface BookMapper {
//添加图书
int addBook(Books books);
//修改图书
int updateBook(Books books);
//删除图书
int deleteBookById(int id);
//查询一本图书
Books queryBookById(int id);
//查询所有图书
List<Books> queryAllBook();
}
6.编写接口对于的mapper.xml文件
需要导入mybatis的包
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wanjl.dao.BookMapper">
<!--添加图书-->
<insert id="addBook" parameterType="Books">
insert into `ssm-test`.books(bookName, bookCounts, detail)
values (${bookName},${bookCounts},${detail});
</insert>
<!--修改图书-->
<update id="updateBook" parameterType="Books">
update `ssm-test`.books
set bookName=${bookName},bookCounts=${bookCounts},detail=${detail}
where bookID=${bookID};
</update>
<!--删除图书-->
<delete id="deleteBookById" parameterType="int">
delete from `ssm-test`.books
where bookID=${bookID};
</delete>
<!--查询一本图书-->
<select id="queryBookById" resultType="Books">
select *
from `ssm-test`.books
where bookID=${bookID};
</select>
<!--查询所有图书信息-->
<select id="queryAllBook" resultType="Books">
select *
from `ssm-test`.books;
</select>
</mapper>
7.编写mybatis核心配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<package name="com.wanjl.pojo"/>
</typeAliases>
<mappers>
<mapper class="com.wanjl.dao.BookMapper"/>
</mappers>
</configuration>
8.编写service层的接口和实现类
service接口
package com.wanjl.service;
import com.wanjl.pojo.Books;
import java.util.List;
public interface BookService {
//添加图书
int addBook(Books books);
//修改图书
int updateBook(Books books);
//删除图书
int deleteBookById(int id);
//查询一本图书
Books queryBookById(int id);
//查询所有图书
List<Books> queryAllBook();
}
service实现类
package com.wanjl.service;
import com.wanjl.dao.BookMapper;
import com.wanjl.pojo.Books;
import java.util.List;
public class BookServiceImpl implements BookService {
//调用dao层的操作,设置一个set接口,方便Spring管理
private BookMapper bookMapper;
public void setBookMapper(BookMapper bookMapper) {
this.bookMapper = bookMapper;
}
@Override
public int addBook(Books books) {
return bookMapper.addBook(books);
}
@Override
public int updateBook(Books books) {
return bookMapper.updateBook(books);
}
@Override
public int deleteBookById(int id) {
return bookMapper.deleteBookById(id);
}
@Override
public Books queryBookById(int id) {
return bookMapper.queryBookById(id);
}
@Override
public List<Books> queryAllBook() {
return bookMapper.queryAllBook();
}
}