内容简介:今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。<1>.
spring整合Mybatis-plus
今天就随便说说spring整合mybatis-plus,就不再搭建一个web项目了,简单做一个测试类。
既然是spring,那就少不了各种xxx.xml配置文件。
那就先说说配置文件
<1>. application-dao.xml
dao层的配置,他的核心就是要产生Mapper代理对象
1、数据源的配置
<context:property-placeholder location="classpath:db.properties" system-properties-mode="FALLBACK" />
2、数据源的配置
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${user}"></property>
<property name="password" value="${password}"></property>
</bean>
3、SqlSessionFactory
<bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"></property> <property name="globalConfig" ref="globalConfig"></property> <!-- 加载xxMapper.xml --> <property name="mapperLocations"> <array> <value>classpath:mapper/*Mapper.xml</value> </array> </property> <!-- 配置分页插件 --> <property name="plugins"> <array> <bean> </bean> </array> </property> </bean> <!-- 声明全局配置 --> <bean id="globalConfig"> <!-- 指定主键自动增长类型 --> <property name="dbConfig" ref="dbConfig"></property> </bean> <bean id="dbConfig"> <property name="idType" value="AUTO"></property> </bean>
4、产生Mapper接口的代理对象
<bean> <!-- 需要生成代理类对象的mapper接口包 --> <property name="basePackage" value="com.xieyunjie.mapper"></property> <!-- sqlSessionFactory 的name 用于为代理类中生成SqlSession --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean>
<2>. application-service.xml
<context:component-scan base-package="com.xieyunjie.service"> </context:component-scan>
<3>. applicationContext.xml
<!-- 引入dao层的配置 --> <import resource="classpath:application-dao.xml"/>
<4>. db.properties
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=UTC user=root password=root
<5>. log4j.properties
# Global logging configuration log4j.rootLogger=DEBUG, stdout # MyBatis logging configuration... log4j.logger.org.mybatis.example.BlogMapper=TRACE # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
一、目录结构
二、创建一个实体类
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@TableName(value="sys_user")//建立User.class和数据的sys_user表的关系
public class User implements Serializable{
private static final long serialVersionUID = 1L;
//字段名和表中的名字一样时可以不加以下注解,不同时需要加上该注解
@TableId(value="id") //代表它是主键
private Integer id;
@TableField(value="name")
private String name;
private String address;
private Date birth;
}
三、创建一个mapper接口(dao层)
public interface UserMapper extends BaseMapper<User> {
}
四、创建一个mapper.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.xieyunjie.mapper.UserMapper" > </mapper>
五、进行测试
创建一个userMapper对象,进行测试
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
UserMapper userMapper=context.getBean(UserMapper.class);
- 分页查询
private static void query5(UserMapper userMapper){
IPage<User> page=new Page<>(1,5);
userMapper.selectPage(page,null);
long total=page.getTotal();
System.out.println("总条数:"+total);
List<User> list=page.getRecords();
print(list);
}
- 根据姓名进行查询
private static void query4(UserMapper userMapper,String name){
Integer count=userMapper.selectCount(null);
QueryWrapper<User> queryWrapper=new QueryWrapper<>();
queryWrapper.like(name!=null,"name",name);
Integer selectCount=userMapper.selectCount(queryWrapper);
System.out.println(selectCount);
}
- 根据Id进行查询
private static void query1(UserMapper userMapper){
User user=userMapper.selectById(3);
System.out.println(user);
}
- 将需要的数据放到一个Map集合里面进行查询
private static void query3(UserMapper userMapper){
Map<String,Object> columnMap=new HashMap<>();
columnMap.put("name","小荥");
columnMap.put("address","南阳");
List<User> list=userMapper.selectByMap(columnMap);
print(list);
}
- 将需要的数据放到一个List集合里面进行查询
private static void query2(UserMapper userMapper){
//先放到一个集合里面,最后进行查询
Collection<Serializable> idList=new ArrayList<Serializable>();
idList.add(2);
idList.add(3);
idList.add(4);
List<User> list=userMapper.selectBatchIds(idList);
print(list);
}
- 删除数据
private static void deleteUser(UserMapper userMapper){
//根据主键删除
userMapper.deleteById(1);
//批量删除。先放到一个集合里面,然后删除
Collection<Serializable> idList=new ArrayList<Serializable>();
idList.add(22);
idList.add(112);
userMapper.deleteBatchIds(idList);
//根据map集合进行删除
Map<String,Object> columnMap=new HashMap<String,Object>();
columnMap.put("id",6);
columnMap.put("name","小明");
userMapper.deleteByMap(columnMap);
//根据wrapper进行删除
QueryWrapper<User> wrapper=new QueryWrapper<>();
userMapper.delete(wrapper);
}
- 修改数据
private static void updateUser(UserMapper userMapper){
//根据主键修改
userMapper.updateById(new User(112,"小荥荥","北京",new Date()));
UpdateWrapper<User> updateWrapper=new UpdateWrapper<>();
updateWrapper.eq("name","小荥荥");
updateWrapper.between("id",1,5);
userMapper.update(new User(112,"小荥","武汉",new Date()),updateWrapper);
}
测试的结果这里就不再进行展示了,大家可以自行去测试
附上个人博客:天涯志
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- SpringBoot整合MybatisPlus的简单教程(简单整合)
- springmvc教程--整合mybatis开发(spring+springMVC+mybatis整合开发)
- springboot整合springsecurity从Hello World到源码解析(五):springsecurity+jwt整合restful服务
- SSM整合搭建(二)
- SSM整合
- Storm 整合 Hbase
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web 2.0 Architectures
Duane Nickull、Dion Hinchcliffe、James Governor / O'Reilly / 2009 / USD 34.99
The "Web 2.0" phenomena has become more pervasive than ever before. It is impacting the very fabric of our society and presents opportunities for those with knowledge. The individuals who understand t......一起来看看 《Web 2.0 Architectures》 这本书的介绍吧!