

- <dependencies>
-
-
- <dependency>
- <groupId>mysqlgroupId>
- <artifactId>mysql-connector-javaartifactId>
- <version>8.0.16version>
- dependency>
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatisartifactId>
- <version>3.4.2version>
- dependency>
-
- <dependency>
- <groupId>com.alibabagroupId>
- <artifactId>druidartifactId>
- <version>1.1.10version>
- dependency>
- <dependency>
- <groupId>junitgroupId>
- <artifactId>junitartifactId>
- <version>4.12version>
- <scope>providedscope>
- dependency>
-
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-contextartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-jdbcartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
-
- <dependency>
- <groupId>org.springframeworkgroupId>
- <artifactId>spring-aspectsartifactId>
- <version>5.2.2.RELEASEversion>
- dependency>
- dependencies>

- package com.ffyc.ssm.model;
-
- import lombok.Data;
- import org.springframework.format.annotation.DateTimeFormat;
-
- import java.util.Date;
- @Data
- public class Admin {
- private Integer id;
- private String account;
- private String password;
- @DateTimeFormat(pattern = "yyyy-MM-dd")
- private Date birthday;
- }
-
org.projectlombok -
lombok -
1.18.4 -
provided
@Data注解在类上,会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
- @Service(value = "loginService")
- @Transactional
- public class LoginService {
- //注入dao层对象
- @Autowired
- LoginDao loginDao;//注入的直接是接口的代理对象sqlsession.getMapper();
-
- public Admin login(Admin admin){
- Admin a=loginDao.Login(admin);
- return a;
- }
- }
- @Repository
- public interface LoginDao {
- public Admin Login(Admin admin);
- }
- "1.0" encoding="UTF-8"?>
- "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
"com.ffyc.ssm.dao.LoginDao"> -
-
- select * from admin where account=#{account} and password=#{password}
-
1.mybatis配置文件(mybatis-config.xml)
- "1.0" encoding="UTF-8" ?>
- PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
- "https://mybatis.org/dtd/mybatis-3-config.dtd">
-
-
-
"logImpl" value="STDOUT_LOGGING"/> -
"mapUnderscoreToCamelCase" value="true"/> -
"cacheEnabled" value="true"/> -
-
-
- <package name="com.ffyc.ssm.model"/>
-
2.数据库连接配置
mybatis-config.xml
- classDriverName=com.mysql.cj.jdbc.Driver
- url=jdbc:mysql://127.0.0.1:3306/ssmdb?serverTimezone=Asia/Shanghai
- uname=root
- pwd=123456
db.xml
- "1.0" encoding="UTF-8"?>
"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
- https://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/tx
- http://www.springframework.org/schema/tx/spring-tx.xsd">
-
-
-
-
"classpath:config.properties"> -
-
"dataSource" class="com.alibaba.druid.pool.DruidDataSource"> -
"driverClassName" value="${classDriverName}"> -
"url" value="${url}"> -
"username" value="${uname}"> -
"password" value="${pwd}"> -
"initialSize" value="5"> -
"maxActive" value="10"> -
-
-
-
"transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> -
"dataSource" ref="dataSource"> -
-
-
-
"transactionManager"/>
3.spring集成mybatis
Spring 集成 Mybatis 其核心是将 SqlSessionFactory 交由 Spring 管理,并由 Spring 管理对 dao 接口的代理实现。
3.1 导入 mybatis jar 包
- <dependency>
- <groupId>org.mybatisgroupId>
- <artifactId>mybatis-springartifactId>
- <version>1.3.1version>
- dependency>
3.2 配置 sqlSessionFactory,spring-mybatis.xml中
- "1.0" encoding="UTF-8"?>
- <beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- https://www.springframework.org/schema/beans/spring-beans.xsd">
-
-
- <import resource="classpath:db.xml">import>
-
-
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-
- <property name="dataSource" ref="dataSource">property>
-
- <property name="configLocation" value="classpath:mybatis-config.xml">property>
-
- <property name="mapperLocations" value="classpath:mappers/*Mapper.xml">
- property>
- bean>
-
-
- <bean id="mapperFactory" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <property name="basePackage" value="com.ffyc.ssm.dao">property>
- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">
- property>
- bean>
- beans>
4.spring.xml
spring.xml中需要导入spring-mybatis.xml,spring-mybatis.xml中导入db.xml
- "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:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- https://www.springframework.org/schema/beans/spring-beans.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context.xsd
- http://www.springframework.org/schema/aop
- http://www.springframework.org/schema/aop/spring-aop.xsd">
-
- <context:component-scan base-package="com.ffyc.ssm"> context:component-scan>
-
-
- <aop:aspectj-autoproxy />
-
-
- <import resource="classpath:spring-mybatis.xml">import>
-
-
- beans>
5、测试
- public class Test {
- public static void main(String[] args) {
- ClassPathXmlApplicationContext app=new ClassPathXmlApplicationContext("spring.xml");
- LoginService loginService=app.getBean("loginService",LoginService.class);
- Admin admin=new Admin();
- admin.setAccount("admin");
- admin.setPassword("admin");
- Admin a=loginService.login(admin);
- System.out.println(a);
- }
- }