当前位置: 首页 > news >正文

宿迁明远建设有限公司网站百度主页

宿迁明远建设有限公司网站,百度主页,广西壮族自治区博物馆,金华做网站最专业的公司✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

在这里插入图片描述

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。
🍎个人主页:Java Fans的博客
🍊个人信条:不迁怒,不贰过。小知识,大智慧。
💞当前专栏:SSM 框架从入门到精通
✨特色专栏:国学周更-心性养成之路
🥭本文内容:一文学会 Spring 整合 MyBatis

文章目录

    • 一、Spring 项目整体目录结构
    • 二、Spring 整合 MyBatis 开发环境
    • 三、Mapper 接口无实现类开发整合
        • 【1】创建一个 Maven 项目,然后再 pom.xml 文件中添加相关依赖
        • 【2】在 resources —> config 目录下,创建数据库配置文件 jdbc.properties
        • 【3】在 resources —> config 目录下,创建 MyBatis 配置文件 mybatis-config.xml
        • 【4】在 resources —> config 目录下,创建 Spring 配置文件 spring-config.xml
        • 【5】创建实体类 User
        • 【6】创建 Mapper 接口 UserMapper
        • 【7】创建与 UserMapper 接口映射的 UserMapper.xml 文件
        • 【8】创建 Service 业务层接口 UserService
        • 【9】创建 UserService 接口的实现类 UserServiceImpl
        • 【10】创建测试类

在这里插入图片描述

  Spring 整合 MyBatis 可以实现让数据库连接,事务管理,实例化对象的创建与依赖关系等都统一由 Spring 负责,以及数据库的增删改查操作由 spring-mybatis 整合包提供的 SqlSessionTemplate 对象来操作,或者利用整合包扫描接口,依据 Mapper 映射文件直接创建代理实现类,无须程序员手工实现接口,大大简化了开发流程。SpringMVC 本来就是 Spring 框架的一部分,这两者无须再做整合,所以 SSM 整合的关键就是Spring对MyBatis的整合,三大框架整合完成后,将以 Spring 为核心,调用有关资源,高效运作。

一、Spring 项目整体目录结构

在这里插入图片描述

二、Spring 整合 MyBatis 开发环境

  Spring 整合 MyBatis 开发环境除了需要 Spring 的jar包和 MyBatis 的jar包,还需要 SpringMyBatis 整合的中间件 mybatis-spring-xxx.jar,此外还需要数据库驱动jar包 mysql-connector-java-xxx.jar。

三、Mapper 接口无实现类开发整合

项目案例:Spring + MyBatis 实现对 user 数据库的查询。

实现步骤:

【1】创建一个 Maven 项目,然后再 pom.xml 文件中添加相关依赖

<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>cn.kgc.sm</groupId><artifactId>spring06</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>spring06</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependencies><!--测试工具--><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependency><!--druid--><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.9</version></dependency><!--mybatis--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.9</version></dependency><!--IOC 依赖注入--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.9</version></dependency><!--mybatis&spring 整合包--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.5</version></dependency><!--aspects 切面--><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>5.3.9</version></dependency><!--jdbc--><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>5.3.9</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>5.3.9</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.16</version></dependency><!-- 日志工具--><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!--mybatis分页插件--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.2.1</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.3.9</version><scope>test</scope></dependency></dependencies>
</project>

【2】在 resources —> config 目录下,创建数据库配置文件 jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///java2218?serverTimezone=UTC&useSSL=false&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=root

【3】在 resources —> config 目录下,创建 MyBatis 配置文件 mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><settings><setting name="logImpl" value="LOG4J"/><setting name="mapUnderscoreToCamelCase" value="true"/><!--全局开启二级缓存--><setting name="cacheEnabled" value="true"/></settings><!--配置mybatis分页插件--><plugins><plugin interceptor="com.github.pagehelper.PageInterceptor"><!-- 配置mysql方言 --><property name="helperDialect" value="mysql" /><!-- 设置为true时,如果pageSize=0就会查询出全部的结果 --><property name="pageSizeZero" value="true" /><!-- 3.3.0版本可用,分页参数合理化,默认false禁用 --><!-- 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页 --><!-- 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据 --><property name="reasonable" value="true" /></plugin></plugins>
</configuration>

【4】在 resources —> config 目录下,创建 Spring 配置文件 spring-config.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"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"><!--引入外部数据源的配置参数--><context:property-placeholder location="classpath:config/jdbc.properties"></context:property-placeholder><!--初始化数据库连接池--><bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"><property name="driverClassName" value="${jdbc.driver}"></property><property name="url" value="${jdbc.url}"></property><property name="username" value="${jdbc.username}"></property><property name="password" value="${jdbc.password}"></property></bean><!--sqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!--设置数据库连接池--><property name="dataSource" ref="dataSource"></property><!--设置mybatis全局配置文件位置--><property name="configLocation" value="config/mybatis-config.xml"></property><!--设置别名的包--><property name="typeAliasesPackage" value="cn.kgc.sm"></property><!--设置mapper.xml文件的位置--><property name="mapperLocations" value="mapper/*.xml"></property></bean><!--mapper接口扫描  生成接口代理对象 同时完成对象的托管--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="cn.kgc.sm.mapper"></property></bean><!--开启包扫描  base-package  设置需要扫描的包 --><context:component-scan base-package="cn.kgc.sm"></context:component-scan>
</beans>

【5】创建实体类 User

package cn.kgc.sm.entity;import lombok.Data;@Data
public class User {private Integer uId;private String uName;private String uPassword;private Integer uState;}

【6】创建 Mapper 接口 UserMapper

package cn.kgc.sm.mapper;import cn.kgc.sm.entity.User;import java.util.List;public interface UserMapper {List<User> selectAll();
}

【7】创建与 UserMapper 接口映射的 UserMapper.xml 文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.kgc.sm.mapper.UserMapper"><select id="selectAll" resultType="user">select * from user</select>
</mapper>

【8】创建 Service 业务层接口 UserService

package cn.kgc.sm.service;import cn.kgc.sm.entity.User;
import cn.kgc.sm.mapper.UserMapper;import java.util.List;public interface UserService {List<User> selectAll();
}

【9】创建 UserService 接口的实现类 UserServiceImpl

package cn.kgc.sm.service.impl;import cn.kgc.sm.entity.User;
import cn.kgc.sm.mapper.UserMapper;
import cn.kgc.sm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;
@Service
public class UserServiceImpl implements UserService {@AutowiredUserMapper userMapper;@Overridepublic List<User> selectAll() {System.out.println("users = ");List<User> users = userMapper.selectAll();System.out.println("users = " + users);return users;}
}

【10】创建测试类

package cn.kgc.sm.mapper;import cn.kgc.sm.entity.User;
import cn.kgc.sm.service.UserService;
import junit.framework.TestCase;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:config/spring-config.xml")
public class UserMapperTest {@AutowiredUserService userService;@Testpublic void Test01(){List<User> users = userService.selectAll();users.forEach(user -> System.out.println("user = " + user));
//        for (User user : users) {
//            System.out.println("user = " + user);
//        }}}

运行结果:

在这里插入图片描述


  码文不易,本篇文章就介绍到这里,如果想要学习更多Java系列知识点击关注博主,博主带你零基础学习Java知识。与此同时,对于日常生活有困扰的朋友,欢迎阅读我的第四栏目:《国学周更—心性养成之路》,学习技术的同时,我们也注重了心性的养成。

在这里插入图片描述


文章转载自:
http://dinncocacique.zfyr.cn
http://dinncoyig.zfyr.cn
http://dinncorelumine.zfyr.cn
http://dinncobullion.zfyr.cn
http://dinncodree.zfyr.cn
http://dinnconyasaland.zfyr.cn
http://dinncocorrigible.zfyr.cn
http://dinncononsulphide.zfyr.cn
http://dinncofendillate.zfyr.cn
http://dinncotegmen.zfyr.cn
http://dinncomutuality.zfyr.cn
http://dinncomythologist.zfyr.cn
http://dinncobremsstrahlung.zfyr.cn
http://dinncosomewhat.zfyr.cn
http://dinncobefore.zfyr.cn
http://dinncophonebooth.zfyr.cn
http://dinncoextraparliamentary.zfyr.cn
http://dinncooutstation.zfyr.cn
http://dinncokellock.zfyr.cn
http://dinncotechnify.zfyr.cn
http://dinncoenantiopathy.zfyr.cn
http://dinncojundy.zfyr.cn
http://dinncoyech.zfyr.cn
http://dinncomicrolinguistics.zfyr.cn
http://dinncodaf.zfyr.cn
http://dinncodispatcher.zfyr.cn
http://dinncowomanly.zfyr.cn
http://dinncoballet.zfyr.cn
http://dinncoproenzyme.zfyr.cn
http://dinncotaaffeite.zfyr.cn
http://dinncosusie.zfyr.cn
http://dinncohornito.zfyr.cn
http://dinncoconsciousness.zfyr.cn
http://dinncoaspca.zfyr.cn
http://dinncotimidly.zfyr.cn
http://dinncosawdust.zfyr.cn
http://dinncoenactive.zfyr.cn
http://dinncoemluator.zfyr.cn
http://dinncoimmunohistology.zfyr.cn
http://dinncomandeville.zfyr.cn
http://dinncodubitable.zfyr.cn
http://dinncobaathist.zfyr.cn
http://dinncoprimogeniture.zfyr.cn
http://dinncouncordial.zfyr.cn
http://dinncoallicin.zfyr.cn
http://dinncoknob.zfyr.cn
http://dinncostt.zfyr.cn
http://dinncoimperturbability.zfyr.cn
http://dinncopeepul.zfyr.cn
http://dinncopodolsk.zfyr.cn
http://dinncokeratopathy.zfyr.cn
http://dinncodisconsolately.zfyr.cn
http://dinncouncourteous.zfyr.cn
http://dinncoruddle.zfyr.cn
http://dinncovitamin.zfyr.cn
http://dinncosaorstat.zfyr.cn
http://dinncounderlying.zfyr.cn
http://dinncopensel.zfyr.cn
http://dinncoroadbed.zfyr.cn
http://dinncoonomastic.zfyr.cn
http://dinncorudder.zfyr.cn
http://dinncoauscultatory.zfyr.cn
http://dinncoumbrageous.zfyr.cn
http://dinncoribotide.zfyr.cn
http://dinncocayuse.zfyr.cn
http://dinncoswinishly.zfyr.cn
http://dinncoanorexigenic.zfyr.cn
http://dinncobehaviourism.zfyr.cn
http://dinncoideological.zfyr.cn
http://dinncoinforming.zfyr.cn
http://dinncostriated.zfyr.cn
http://dinncoblackjack.zfyr.cn
http://dinncoparsoness.zfyr.cn
http://dinncobecloud.zfyr.cn
http://dinncoexlibris.zfyr.cn
http://dinncoprimatology.zfyr.cn
http://dinncomeditation.zfyr.cn
http://dinncomallard.zfyr.cn
http://dinncoheavenwards.zfyr.cn
http://dinncotaut.zfyr.cn
http://dinncotideless.zfyr.cn
http://dinncodrowsy.zfyr.cn
http://dinncopremortuary.zfyr.cn
http://dinncounminded.zfyr.cn
http://dinncocyclopedist.zfyr.cn
http://dinncorhizoctonia.zfyr.cn
http://dinnconay.zfyr.cn
http://dinncoraphe.zfyr.cn
http://dinncotimberwork.zfyr.cn
http://dinncospitball.zfyr.cn
http://dinncoplow.zfyr.cn
http://dinncoaerotropism.zfyr.cn
http://dinncocapricious.zfyr.cn
http://dinncoratton.zfyr.cn
http://dinncoprostate.zfyr.cn
http://dinncohielamon.zfyr.cn
http://dinncoharyana.zfyr.cn
http://dinncochimaera.zfyr.cn
http://dinncodnieper.zfyr.cn
http://dinncosamizdatchik.zfyr.cn
http://www.dinnco.com/news/131047.html

相关文章:

  • 网站设计专业的公司百度客服人工服务电话
  • wordpress捐北京关键词优化平台
  • 建设公司网站标题搜索引擎免费下载
  • 锡林郭勒盟建设工程造价管理网站bt磁力搜索
  • 网站设计需求分析报告深圳信息公司做关键词
  • 做网站的图片要多少像素网站排名优化工具
  • 网站建设呼和浩特b2b网站有哪些
  • 去菲律宾做it网站开发济南seo网站优化
  • app制作过程和网站一样吗推广普通话绘画
  • 手机模板网站模板免费下载竞价托管选择微竞价
  • wordpress安卓版教程视频教程适合seo的建站系统
  • 长春网站优化短视频运营方案策划书
  • 网站建设案例资讯国外免费建站网站
  • 建设考试的报名网站焊工培训技术学校
  • 黄埔网站建设优化seo旺道seo系统
  • 邢台哪里有做网站的关键词密度查询站长工具
  • java入门网站营销课程培训
  • 国际网站开发客户平台推广是做什么
  • 建设网站前的市场分析怎么写国产最好的a级suv88814
  • 关于网站建设的意义企业营销战略
  • 福州英文网站建设网站软件免费下载
  • 太原小店区最新消息今天湖州网站seo
  • 做代收的网站有哪些公关公司一般收费标准
  • 微信微网站开发凡科建站怎么导出网页
  • 做旅游销售网站平台ppt模板数据分析网页
  • 世预赛韩国出线了吗广州抖音seo公司
  • 服务器托管是什么意思百度seo优化规则
  • 做医疗设备的网站产品互联网推广
  • 做付费下载的网站网站怎么优化推荐
  • 常州自助做网站网盘手机app官网下载