1、数据库配置文件 database.properties
driver=com.mysql.jdbc.Driver
# 如果mysql是8.0以上版本需要设置一个时区
url=jdbc:mysql://localhost:3306/ssmbuild?useSSL=true&useUnicode=true&characterEncoding=utf8
username=root
password=199478
2、idea关联数据库
3、编写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>
<properties resource="database.properties"/>
<typeAliases>
<package name="com.bjpowernode.pojo"/>
</typeAliases>
<environments default="jdbc">
<environment id="jdbc">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!--绑定对应的mapper-->
<mappers>
<mapper class="com.bjpowernode.dao.BookMapper"/>
</mappers>
</configuration>
4、编写数据库对应的实体类,使用lombok插件
package com.bjpowernode.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor //有参构造
@NoArgsConstructor //无参构造
public class Books {
private int bookID;
private String bookName;
private int bookCounts;
private String detail;
}
5、编写dao层的mapper接口,操作数据库
package com.bjpowernode.dao;
import com.bjpowernode.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface BookMapper {
//增加一本书
int insertBook(Books book);
//删除一本书
int deleteBookById(@Param("bookID") int id);
//更新一本书
int updateBook(Books book);
//根据id查询一本书
Books queryBookById(int id);
//查询全部的书
List<Books> queryBooks();
}
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.bjpowernode.dao.BookMapper">
<insert id="insertBook" parameterType="Books">
insert into ssmbuild.books (bookID,bookName,bookCounts,detail)
values(#{bookID},#{bookName},#{bookCounts},#{detail});
</insert>
<delete id="deleteBookById">
delete from ssmbuild.books where bookID=#{bookID}
</delete>
<update id="updateBook" parameterType="Books">
update ssmbuild.books set bookName=#{bookName},bookCounts=#{bookCounts},detail=#{detail} where bookID={bookID}
</update>
<select id="queryBookById" resultType="Books">
select * from ssmbuild.books where bookID=#{bookID};
</select>
<select id="queryBooks" resultType="Books">
select * from ssmbuild.books;
</select>
</mapper>
7、编写service层的接口和实现类
package com.bjpowernode.service;
import com.bjpowernode.pojo.Books;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface BookService {
//增加一本书
int insertBook(Books book);
//删除一本书
int deleteBookById(int id);
//更新一本书
int updateBook(Books book);
//根据id查询一本书
Books queryBookById(int id);
//查询全部的书
List<Books> queryBooks();
}
package com.bjpowernode.service;
import com.bjpowernode.dao.BookMapper;
import com.bjpowernode.pojo.Books;
import java.util.List;
public class BookServiceImp implements BookService {
//service调用dao曾,组合dao
private BookMapper bookMapper;
//set注入
public void setBookMapper(BookMapper bookMapper) {
this.bookMapper = bookMapper;
}
//service调用dao层
public int insertBook(Books book) {
return bookMapper.insertBook(book);
}
public int deleteBookById(int id) {
return bookMapper.deleteBookById(id);
}
public int updateBook(Books book) {
return bookMapper.updateBook(book);
}
public Books queryBookById(int id) {
return bookMapper.queryBookById(id);
}
public List<Books> queryBooks() {
return bookMapper.queryBooks();
}
}
到此,底层需求操作编写完成