• spring集成mybatis


    1、新建一个javaEE web项目

    2、加入相关依赖的坐标

    1. <dependencies>
    2. <dependency>
    3. <groupId>mysqlgroupId>
    4. <artifactId>mysql-connector-javaartifactId>
    5. <version>8.0.16version>
    6. dependency>
    7. <dependency>
    8. <groupId>org.mybatisgroupId>
    9. <artifactId>mybatisartifactId>
    10. <version>3.4.2version>
    11. dependency>
    12. <dependency>
    13. <groupId>com.alibabagroupId>
    14. <artifactId>druidartifactId>
    15. <version>1.1.10version>
    16. dependency>
    17. <dependency>
    18. <groupId>junitgroupId>
    19. <artifactId>junitartifactId>
    20. <version>4.12version>
    21. <scope>providedscope>
    22. dependency>
    23. <dependency>
    24. <groupId>org.springframeworkgroupId>
    25. <artifactId>spring-contextartifactId>
    26. <version>5.2.2.RELEASEversion>
    27. dependency>
    28. <dependency>
    29. <groupId>org.springframeworkgroupId>
    30. <artifactId>spring-jdbcartifactId>
    31. <version>5.2.2.RELEASEversion>
    32. dependency>
    33. <dependency>
    34. <groupId>org.springframeworkgroupId>
    35. <artifactId>spring-aspectsartifactId>
    36. <version>5.2.2.RELEASEversion>
    37. dependency>
    38. dependencies>

    3、创建相应的包和类,以登录为例

    1. package com.ffyc.ssm.model;
    2. import lombok.Data;
    3. import org.springframework.format.annotation.DateTimeFormat;
    4. import java.util.Date;
    5. @Data
    6. public class Admin {
    7. private Integer id;
    8. private String account;
    9. private String password;
    10. @DateTimeFormat(pattern = "yyyy-MM-dd")
    11. private Date birthday;
    12. }
    1. org.projectlombok
    2. lombok
    3. 1.18.4
    4. provided

    @Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。

    1. @Service(value = "loginService")
    2. @Transactional
    3. public class LoginService {
    4. //注入dao层对象
    5. @Autowired
    6. LoginDao loginDao;//注入的直接是接口的代理对象sqlsession.getMapper();
    7. public Admin login(Admin admin){
    8. Admin a=loginDao.Login(admin);
    9. return a;
    10. }
    11. }
    1. @Repository
    2. public interface LoginDao {
    3. public Admin Login(Admin admin);
    4. }
    1. "1.0" encoding="UTF-8"?>
    2. "-//mybatis.org//DTD Mapper 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    4. "com.ffyc.ssm.dao.LoginDao">

    4、创建并配置spring和mybatis配置文件

    1.mybatis配置文件(mybatis-config.xml)

    1. "1.0" encoding="UTF-8" ?>
    2. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    3. "https://mybatis.org/dtd/mybatis-3-config.dtd">
    4. "logImpl" value="STDOUT_LOGGING"/>
    5. "mapUnderscoreToCamelCase" value="true"/>
    6. "cacheEnabled" value="true"/>
    7. <package name="com.ffyc.ssm.model"/>

    2.数据库连接配置

    mybatis-config.xml

    1. classDriverName=com.mysql.cj.jdbc.Driver
    2. url=jdbc:mysql://127.0.0.1:3306/ssmdb?serverTimezone=Asia/Shanghai
    3. uname=root
    4. pwd=123456

    db.xml

    1. "1.0" encoding="UTF-8"?>
    2. "http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:tx="http://www.springframework.org/schema/tx"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. https://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/context
    9. http://www.springframework.org/schema/context/spring-context.xsd
    10. http://www.springframework.org/schema/tx
    11. http://www.springframework.org/schema/tx/spring-tx.xsd">
    12. "classpath:config.properties">
    13. "dataSource" class="com.alibaba.druid.pool.DruidDataSource">
    14. "driverClassName" value="${classDriverName}">
    15. "url" value="${url}">
    16. "username" value="${uname}">
    17. "password" value="${pwd}">
    18. "initialSize" value="5">
    19. "maxActive" value="10">
    20. "transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    21. "dataSource" ref="dataSource">
    22. "transactionManager"/>

    3.spring集成mybatis

    Spring 集成 Mybatis 其核心是将 SqlSessionFactory 交由 Spring 管理,并由 Spring 管理对 dao 接口的代理实现。

    3.1 导入 mybatis jar 包

    1. <dependency>
    2. <groupId>org.mybatisgroupId>
    3. <artifactId>mybatis-springartifactId>
    4. <version>1.3.1version>
    5. dependency>

    3.2 配置 sqlSessionFactory,spring-mybatis.xml中

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://www.springframework.org/schema/beans
    5. https://www.springframework.org/schema/beans/spring-beans.xsd">
    6. <import resource="classpath:db.xml">import>
    7. <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    8. <property name="dataSource" ref="dataSource">property>
    9. <property name="configLocation" value="classpath:mybatis-config.xml">property>
    10. <property name="mapperLocations" value="classpath:mappers/*Mapper.xml">
    11. property>
    12. bean>
    13. <bean id="mapperFactory" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    14. <property name="basePackage" value="com.ffyc.ssm.dao">property>
    15. <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">
    16. property>
    17. bean>
    18. beans>

    4.spring.xml

    spring.xml中需要导入spring-mybatis.xml,spring-mybatis.xml中导入db.xml

    1. "1.0" encoding="UTF-8"?>
    2. <beans xmlns="http://www.springframework.org/schema/beans"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xmlns:context="http://www.springframework.org/schema/context"
    5. xmlns:aop="http://www.springframework.org/schema/aop"
    6. xsi:schemaLocation="http://www.springframework.org/schema/beans
    7. https://www.springframework.org/schema/beans/spring-beans.xsd
    8. http://www.springframework.org/schema/context
    9. http://www.springframework.org/schema/context/spring-context.xsd
    10. http://www.springframework.org/schema/aop
    11. http://www.springframework.org/schema/aop/spring-aop.xsd">
    12. <context:component-scan base-package="com.ffyc.ssm"> context:component-scan>
    13. <aop:aspectj-autoproxy />
    14. <import resource="classpath:spring-mybatis.xml">import>
    15. beans>

    5、测试

    1. public class Test {
    2. public static void main(String[] args) {
    3. ClassPathXmlApplicationContext app=new ClassPathXmlApplicationContext("spring.xml");
    4. LoginService loginService=app.getBean("loginService",LoginService.class);
    5. Admin admin=new Admin();
    6. admin.setAccount("admin");
    7. admin.setPassword("admin");
    8. Admin a=loginService.login(admin);
    9. System.out.println(a);
    10. }
    11. }

  • 相关阅读:
    js 去除字符串空格
    design compiler之设计环境
    飞鹤与满趣健达成战略合作 加速深化国际化布局
    学习笔记|串口与PC通信的接线|移植驱动程序|串口通信实战|STC32G单片机视频开发教程(冲哥)|第二十一集(上):串口与PC通信
    我与JAVA过七夕
    7、【Qlib】【主要组件】Data Layer:数据框架与使用
    数据结构与算法的基本概念
    【动态规划】64. 最小路径和
    【编解码格式】Dirac、VC-2、VC-1、WMV3(WMV9)
    [发现了好东西] MS teams 使用-表情小窗口
  • 原文地址:https://blog.csdn.net/m0_73503454/article/details/132655990