跳过spring使用Mybatisplus
注意,这里需要Db类,在mybatisplus3.5.3.1里面有的,之前版本没有.
依赖如下
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>LATEST</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
来个my.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="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test123?serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper class="com.UserMapper"></mapper>
</mappers>
</configuration>
写个实体,注意里面的@TableName
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("user")
public class User {
private Integer userid;
}
写个mapper
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface UserMapper extends BaseMapper<User> {
}
测试
注意,如果在xml里面已经配置了mapper,那这里就不需要再addMapper
public class DbUtils {
static SqlSessionFactory sessionFactory = null;
static {
String resource = "my.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
sessionFactory = new MybatisSqlSessionFactoryBuilder().build(inputStream);
}
public static void addMapper(Class mapperClass){
sessionFactory.getConfiguration().addMapper(mapperClass);
}
public static void main(String[] args) {
DbUtils.addMapper(UserMapper.class);
List<User> list = Db.list(User.class);
System.out.println(list);
}
}
不过要开启事务插入的话,可能需要这样
BaseMapper<User> mapper = SqlHelper.getMapper(User.class, sessionFactory.openSession(true));