Spring+MyBatis+MyBatis-Plus整合及步骤详解准备⼯作(⽂件名要取好,不然后⾯⼀堆bug)
1. 了解Maven,
2. 设计数据库表
3. 了解MyBatis,导⼀个包
<!-- Mybatis -->
<dependency>
<groupId&batis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
4. 了解Spring ,
5. 了解SpringMVC
6. 知道哪⾥去依赖吗?
7. 了解spring常⽤jar包功能:(我个⼈⽤的5.1.2版本)
<!-- 1.Spring核⼼依赖 -->
<!--Spring的核⼼⼯具包,其他包依赖此包-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!--Spring IOC的基础实现,包含访问配置⽂件、创建和管理bean等。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!--在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的⽀持,
有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的⽀持。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- 2.Spring dao依赖 -->
<!-- spring-jdbc包括了⼀些如jdbcTemplate的⼯具类 -->
<!--对JDBC 的简单封装-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!--为JDBC、Hibernate、JDO、JPA等提供的⼀致的声明式和编程式事务管理。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- 3.Spring web依赖 -->
<!--包含Web应⽤开发时,⽤到Spring框架时所需的核⼼类,包括⾃动载⼊WebApplicationContext特性的类、Struts与JSF集成类、⽂件上传的⽀持类、Fil ter类和⼤量⼯具辅助类。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!--包含SpringMVC框架相关的所有类。包含国际化、标签、Theme、视图展现的FreeMarker、JasperReports、 Tiles、Velocity、XSLT相关类。
当然,如果你的应⽤使⽤了独⽴的MVC框架,则⽆需这个JAR⽂件⾥的任何类。-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- 4.Spring test依赖:⽅便做单元测试和集成测试 -->
<!--对JUNIT等测试框架的简单封装-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
⼀、Spring+MyBatis整合
主要解决的问题就是将 SqlSessionFactory 对象交由 Spring来管理。
整合常⽤的⽅式:扫描的 Mapper 动态代理
1. 导⼊spring和mybatis相关依赖
<dependencies>
<!-- Mybatis Spring 整合适配包 -->
<dependency>
<groupId&batis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>2.0.2</version>
</dependency>
spring ioc注解<!-- Mybatis -->
<dependency>
<groupId&batis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<!-- spring-context-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- Spring JDBC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- Spring aspect ⾯向切⾯编程 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
<!-- spring-tx-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>5.1.2.RELEASE</version>
</dependency>
</dependencies>
2. 创建 log4j2.properties(不强求创建)
<!--⽇志-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-web</artifactId>
<version>2.12.1</version>
</dependency>
Log4j是Apache的⼀个开放源代码项⽬,通过使⽤Log4j,我们可以控制⽇志信息输送的⽬的地是控制台、⽂件,甚⾄是套接⼝服务器、NT的事件记录器等;我们也可以控制每⼀条⽇志的输出格式;通过定义每⼀条⽇志信息的级别,我们能够更加细致地控制⽇志的⽣成过程。最令⼈感兴趣的就是,这些可以通过⼀个配置⽂件来灵活地进⾏配置,⽽不需要修改应⽤的代码。
在resource下⾯创建log4j2.properties:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console"target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef ref="Console"/>
</Root>
<logger name="java.sql"level="DEBUG"></logger>
<logger name="org.apache.ibatis"level="INFO"></logger>
</Loggers>
</Configuration>
3. 定义 MyBatis 主配置⽂件
主配置⽂件中不再需要数据源的配置了。因为数据源要交给 Spring 容器来管理了。
创建l或者l:
全局属性mapUnderscoreToCamelCase,设为true 可以⾃动将以下画线⽅式命名的数据库列映射到 Java 对象的驼峰式命名属性中。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-////DTD Config 3.0//EN"
"/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-- 驼峰式命名-->
<setting name="mapUnderscoreToCamelCase"value="true"/>
<!--配置log4j2-->
<setting name="logImpl"value="LOG4J2"/>
</settings>
</configuration>
4. Spring配置数据源
1. spring配置数据源的步骤
① 导⼊数据源的坐标和数据库驱动坐标
<!-- 数据库连接驱动包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<!-- 数据库连接池c3p0 -->
<dependency>
<groupId&hange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
② 创建数据源对象——将DataSource的创建权交由Spring容器去完成
在类路径下(resources)创建l配置⽂件
如果出现这种情况,就到project structure——>module
<!--配置数据源-->
<bean id="dataSource"class="hange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass"value="${jdbc.driverClass}"/>
<property name="jdbcUrl"value="${jdbc.jdbcUrl}"/>
<property name="user"value="${jdbc.user}"/>
<property name="password"value="${jdbc.password}"/>
<property name="minPoolSize"value="${jdbc.miniPoolSize}"/>
<property name="maxPoolSize"value="${jdbc.maxPoolSize}"/>
<property name="initialPoolSize"value="${jdbc.initialPoolSize}"/>
<property name="maxIdleTime"value="${jdbc.maxIdleTime}"/>
<property name="checkoutTimeout"value="${jdbc.checkoutTimeout}"/>
</bean>
③ 设置数据源的基本连接数据
新建⼀个db.properties⽂件,在⾥⾯编写代码:
jdbc.sql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/数据库名
jdbc.username=root
jdbc.password=root
看⾃⼰数据库⽤户和密码是多少,我设置的root
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论