Spring 集成 mybatisPlus

文章目录

      • 1. pom.xml
      • 2. 实体类
      • 3. mapper接口
      • 4. applicationContext.xml
      • 5. db.properties
      • 6. log4j.xml
      • 7. mybatis-config.xml
      • 8. 测试类
      • 9. 控制台输出
      • 10. 源码地址

1. pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.gblfy</groupId><artifactId>spring-mybatisplus</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>spring-mybatisplus</name><url>http://www.gblfy.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>3.3.1.tmp</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- c3p0 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!-- mysql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.19</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version><scope>provided</scope></dependency><!-- spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.10.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.3.10.RELEASE</version></dependency></dependencies></project>

2. 实体类

package com.gblfy.entity;import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@TableName("user")
public class User extends Model<User> {/*** 主键ID*/private Long id;/*** 姓名*/private String name;/*** 年龄*/private Integer age;/*** 邮箱*/private String email;//数据库没有此字段 只为了封装演示@TableField(exist = false)private String remark;
}

3. mapper接口

package com.gblfy.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.gblfy.entity.User;public interface UserMapper extends BaseMapper<User> {
}

resources配置以下几个配置文件:

4. applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"><!-- 数据源 --><context:property-placeholder location="classpath:db.properties"/><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}"></property><property name="jdbcUrl" value="${jdbc.url}"></property><property name="user" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean><!-- 事务管理器 --><bean id="dataSourceTransactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"></property></bean><!-- 基于注解的事务管理 --><tx:annotation-driven transaction-manager="dataSourceTransactionManager"/><bean id="sqlSessionFactoryBean" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"><!-- 数据源 --><property name="dataSource" ref="dataSource"></property><property name="configLocation" value="classpath:mybatis-config.xml"></property></bean><!--配置mybatis 扫描mapper接口的路径--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.gblfy.mapper"/></bean>
</beans>

5. db.properties

#数据库配置
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm?useSSL=false&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=root

6. log4j.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"><appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"><param name="Encoding" value="UTF-8" /><layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m  (%F:%L) \n" /></layout></appender><logger name="java.sql"><level value="debug" /></logger><logger name="org.apache.ibatis"><level value="info" /></logger><root><level value="debug" /><appender-ref ref="STDOUT" /></root>
</log4j:configuration>

7. mybatis-config.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></configuration>

8. 测试类

package com.gblfy.mapper;import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.gblfy.entity.User;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;import javax.sql.DataSource;
import java.sql.Connection;
import java.util.List;public class UserMapperTest {private ApplicationContext ioc =new ClassPathXmlApplicationContext("applicationContext.xml");/*** 从ioc容器中,获取employeeMapper具体的代理实现类对象*/private UserMapper userMapper =ioc.getBean("userMapper", UserMapper.class);/*** 通用 查询操作*/@Testpublic void testSelect() {List<User> userList = userMapper.selectList(new QueryWrapper<User>());System.out.println(userList);}/*** mybatis 和 sprng集成测试类*测试项目和数据库的连通性* @throws Exception*/@Testpublic void testDataSource() throws Exception {DataSource ds = ioc.getBean("dataSource", DataSource.class);System.out.println(ds);Connection conn = ds.getConnection();System.out.println(conn);}
}

9. 控制台输出

[User(id=1, name=Jone, age=18, email=test1@baomidou.com, remark=null), User(id=2, name=Jack, age=20, email=test2@baomidou.com, remark=null), User(id=3, name=Tom, age=28, email=test3@baomidou.com, remark=null), User(id=4, name=郭轩, age=26, email=test4@baomidou.com, remark=null), User(id=5, name=郭振, age=26, email=test5@baomidou.com, remark=null), User(id=1238735228017610754, name=郭雨昕, age=2, email=gblfy@qq.com, remark=null), User(id=1238735794525503489, name=郭雨泽, age=22, email=gblfy@qq.com, remark=null)]

10. 源码地址

https://gitee.com/gb_90/ssm-upgrade

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用python编excel统计表_Python实现对excel文件列表值进行统计的方法

本文实例讲述了Python实现对excel文件列表值进行统计的方法。分享给大家供大家参考。具体如下&#xff1a;#!/usr/bin/env python#codinggbk#此PY用来统计一个execl文件中的特定一列的值的分类import win32com.clientfilenameraw_input("请输入要统计文件的详细地址&#…

大话云存储,这个“对象”可能无处不在

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | pasca来源 | 蛋蛋团&#xff08;ID&#xff1a;dandan_tuan&#xff09;大纲前言1、Who&#xff1a;谁使用对象存储2、What&#xff1a;对象存储是什么3、Why&#xff1a;为什么他们会使用对象存储4、how to do:应用场景分析5、…

linux java文件 core_linux下部署.net core/java

.net core1.查看系统是否已安装net core命令&#xff1a;dotnet --info如果提示未找到命令&#xff0c;说明需要按照net core环境&#xff0c;否则跳过2&#xff0c;3两步2.查看系统版本&#xff0c;这里是CentOS 7命令&#xff1a;cat /etc/redhat-release3.根据系统版本找到安…

振奋!中国正式进入5G元年;华为5G俄罗斯签下大单;王坚进入工程院院士第二轮评审...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周五第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

java 对象复制 反射_利用Java反射机制实现对象相同字段的复制操作

一、如何实现不同类型对象之间的复制问题&#xff1f;1、为什么会有这个问题&#xff1f;近来在进行一个项目开发的时候&#xff0c;为了隐藏后端数据库表结构、同时也为了配合给前端一个更友好的API接口文档(swagger API文档)&#xff0c;我采用POJO来对应数据表结构&#xff…

企业实战_01_Redis下载/安装/运行/停止

文章目录一、Redis下载&#xff1a;官方&#xff1a;https://redis.io/二、Redis安装&#xff1a;2.1. 上传redis软件服务器2.2. 解压redis2.3. 进入redis目录&#xff0c;进行redis安装2.4. 执行redis安装测试&#xff1a;2.5. 安装异常处理三、redis 启动、停止3.1. 进入src目…

关于5G,你必须知道的事儿……

戳蓝字“CSDN云计算”关注我们哦&#xff01;文 | 小枣君来源 | 鲜枣课堂什么是5G 5G&#xff0c;就是5th Generation Mobile Networks&#xff08;第五代移动通信网络&#xff09;&#xff0c;也可以称为5th Generation Wireless Systems&#xff08;第五代无线通信系统&a…

java管理员登录_idea实现管理员登录javaweb

mysql创建db_0106数据库&#xff0c;创建表添加一条数据&#xff0c;id int自增&#xff0c;密码&#xff1a;为MD5加密insert into tb_sys values(null,admin,MD5(123),"系统管理员");项目目录结构com.isoft.db包下db.properties文件mysql.drivercom.mysql.jdbc.Dri…

linux环境下redis5.0的安装配置

文章目录一、Redis介绍&#xff1a;二、安装Redis2.1. 下载 解压 进入文件夹 然后 编译2.2. 启动Redis2.2.1. 指定配置文件启动redis2.2.2. 配置redis后台启动三. 登录验证一、Redis介绍&#xff1a; Redis是当前比较热门的NOSQL系统之一&#xff0c;它是一个key-value存储系统…

漫话:如何给女朋友解释什么是编译与反编译

戳蓝字“CSDN云计算”关注我们哦&#xff01;来源 | 漫话编程某天下班后&#xff0c;我在家里进行电话面试&#xff0c;问到面试者这样一个问题&#xff1a;"你知道使用哪些办法可以反编译Java代码吗&#xff1f;"。但是面试者回答的并不好&#xff0c;所以我在面试评…

java数组下标越界处理_可恶的Java数组下标越界检查

刚刚学习Java不到一个星期&#xff0c;本来是搞C的&#xff0c;没事学习Java&#xff0c;将来可以更好的想Android方向发展一下。现在正处于磨基础的阶段&#xff0c;对与每一个新手来书&#xff0c;最痛苦的莫过于此了。写了一个冒泡排序&#xff0c;用C的思想写&#xff0c;没…

企业实战_02_Redis基础

接上一篇&#xff1a;企业实战_01_Redis下载/安装/运行/停止https://blog.csdn.net/weixin_40816738/article/details/99198062 Redis小知识&#xff1a; 向服务器发送命令 ①redis-cli连上redis服务器后&#xff0c;可以在命令行发送指令&#xff1b; ②ping&#xff0c;测试…

Python 爬取 42 年高考数据,告诉你高考为什么这么

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 徐麟责编 | 伍杏玲封图 | CSDN付费下载于东方IC对于像作者一样已经工作的“上班族”来说&#xff0c;6月7号到9号三天无疑是兴奋到飞起的&#xff0c;终于迎来了令人愉悦的端午假期&#xff1a;然而有那么一群人&#xff0c;…

windows下载、安装运行redis

https://github.com/microsoftarchive/redis/ redis的配置文件&#xff1a; redis.windows.conf

java读取excel某个单元格的值_[转载]Java读取Excel中的单元格数据

目前网上能找到的读取Excel表格中数据的两种比较好的方案&#xff1a;PageOffice好用开发效率高&#xff1b;POI免费。供大家参考&#xff0c;针对具体情况选择具体方案。1. PageOffice读取excelimport com.zhuozhengsoft.pageoffice.*;import com.zhuozhengsoft.pageoffice.ex…

【五分钟】看完一道有装逼解法的算法题

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 程序员小吴来源 | 五分钟学算法题目来源于 LeetCode 上第 342 号问题&#xff1a;4 的幂。题目难度为 Easy&#xff0c;目前通过率为 45.3% 。题目描述给定一个整数 (32 位有符号整数)&#xff0c;请编写一个函数来判断它是否…

企业实战_03_Redis基础命令

接上一篇&#xff1a;企业实战_02_Redis基础 https://blog.csdn.net/weixin_40816738/article/details/99204244 先启动redis服务端&#xff0c;在启动redis客户端 说明命令info查看系统信息ping测试连通性dbsizekey数量keys *查看所有的keyselect 1切换到键空间(keyspace1)…

Docker精华问答 | Docker commit如何用?

Docker 是个划时代的开源项目&#xff0c;它彻底释放了计算虚拟化的威力&#xff0c;极大提高了应用的维护效率&#xff0c;降低了云计算应用开发的成本&#xff01;使用 Docker&#xff0c;可以让应用的部署、测试和分发都变得前所未有的高效和轻松&#xff01;1Q&#xff1a;…

java channel源码_Netty 4.0 源码分析(三):Channel和ChannelPipeline

Client和server通过Channel连接&#xff0c;然后通过ByteBuf进行传输。每个Channel有自己的Pipeline&#xff0c;Pipeline上面可以添加和定义Handler和Event。Channel类1 package io.netty.channel;2 import io.netty.buffer.ByteBuf;3 import io.netty.buffer.MessageBuf;4 im…