新学期学习servlet,jsp课程。数据访问层老师用的还是jdbc,突发奇想,数据访问层能不能配合MybatisPlus,百度了好久没有找到类似的,都是Springboot➕MybatisPlus项目。
导入jar包
这是需要的jar包。
mybatis.xml配置文件
resources下新建mybatis.xml文件。
<?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>
<environments default="default">
<environment id="default">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/dms"/>
<property name="username" value="root"/>
<property name="password" value="rootroot"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.binhai.mapper"/>
</mappers>
</configuration>
数据库连接池
新建数据库连接池。
package com.binhai.utils;
import com.baomidou.mybatisplus.core.MybatisSqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import java.io.IOException;
import java.io.InputStream;
/**
* @Author: lld @Date: 2020/12/9 8:37 上午
*/
public class MybatisPlusUtil {
public static SqlSession conn() {
String resource = "mybatis.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException ioException) {
ioException.printStackTrace();
}
SqlSessionFactory factory = new MybatisSqlSessionFactoryBuilder().build(inputStream);
return factory.openSession(true);
}
}
新建实体类
新建实体类注意的是类加注解@TableName(value = “表名”),id属性加注解@TableId(value = “id”,type = IdType.AUTO)。
示例:
package com.binhai.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@Data
@TableName(value = "user")
public class User {
@TableId(value = "id",type = IdType.AUTO)
private int id;
private String username;
private String password;
}
mapper接口
接口继承BaseMapper后就可实现基本单表操作。
package com.binhai.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.binhai.domain.User;
public interface UserMapper extends BaseMapper<User> {
}
service代码
以查询全部举例,还有很多别的操作都可实现。
UserMapper userMapper = MybatisUtil.conn().getMapper(UserMapper.class);
List<User> list = dormitoryMapper.selectList(null);
这样就实现了servlet+MybatisPlus的实现。