springboot整合持久层的方法实现

网友投稿 207 2022-09-24


springboot整合持久层的方法实现

目录1. springboot整合jdbcTemplate1.1 pom.xml1.2 application.properties1.3 model1.4 service1.5 serviceImpl,crud案例2. jdbcTemplate配置多数据源2.1 pom.xml2.2 application.properties2.3 实体类2.4 数据源配置2.5 jdbctemplate配置2.6 注入模板测试3. springboot整合mybatis(注解方式)3.1 pom.xml3.2 application.properties3.3 实体类3.4 mapper3.5 service3.6 srviceImpl3.7 扫描mapper3.8 测试4. springboot整合mybatis(xml方式)4.1 pom.xml4.2 application.xml4.3 实体类4.4 mapper4.5 mapper.xml4.6 service4.7 serviceImpl4.8 扫描mapper5. mybatis整合多数据源5.1 pom.xml5.2 application.properties5.3 实体类5.4 mapper15.5 mapper25.6 mapper1.xml5.7 mapper2.xml5.8 数据源配置5.9 mybatis配置15.10 mybatis配置25.11 项目结构

1. springboot整合jdbcTemplate

1.1 pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

jdbctemplate

0.0.1-SNAPSHOT

jdbctemplate

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot</groupId>

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

jdbctemplate

0.0.1-SNAPSHOT

jdbctemplate

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot</groupId>

spring-boot-maven-plugin

1.2 application.properties

spring.datasource.url=jdbc:mysql://localhost:3306/demo?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8

spring.datasource.username=root

spring.datasource.password=root

1.3 model

package com.yl.jdbctemplate.model;

import java.io.Serializable;

public class Student implements Serializable {

private Integer id;

private String stuName;

private String stuNo;

private Integer age;

private String stuMessage;

@Override

public String toString() {

return "Student{" +

"id=" + id +

", stuName='" + stuName + '\'' +

", stuNo='" + stuNo + '\'' +

", age=" + age +

", stuMessage='" + stuMessage + '\'' +

'}';

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getStuMessage() {

return stuMessage;

}

public void setStuMessage(String stuMessage) {

this.stuMessage = stuMessage;

}

}

1.4 service

package com.yl.jdbctemplate.service;

import com.yl.jdbctemplate.model.Student;

import java.util.List;

public interface StudentService {

int addStudent(Student student);

int addStudent2(Student student);

int updateStudent(Student student);

int deleteStudentById(Integer id);

List getAllStudent();

List getAllStudent2();

}

1.5 serviceImpl,crud案例

package com.yl.jdbctemplate.service.impl;

import com.yl.jdbctemplate.model.Student;

import com.yl.jdbctemplate.service.StudentService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.jdbc.core.BeanPropertyRowMapper;

import org.springframework.jdbc.core.JdbcTemplate;

import org.springframework.jdbc.core.PreparedStatementCreator;

import org.springframework.jdbc.core.RowMapper;

import org.springframework.jdbc.support.GeneratedKeyHolder;

import org.springframework.stereotype.Service;

import java.sql.*;

import java.util.List;

@Service

public class StudentServiceImpl implements StudentService {

@Autowired

JdbcTemplate jdbcTemplate;

@Override

public int addStudent(Student student) {

int result = jdbcTemplate.update("insert into student(stu_name,stu_no,age,stu_message) values(?,?,?,?) "

,student.getStuName(),student.getStuNo(),student.getAge(),student.getStuMessage());

return result;

}

//插入数据,并且回写id

@Override

public int addStudent2(Student student) {

GeneratedKeyHolder keyHolder = new GeneratedKeyHolder();

int result = jdbcTemplate.update(new PreparedStatementCreator() {

@Override

public PreparedStatement createPreparedStatement(Connection con) throws SQLException {

//插入数据后返回主键

PreparedStatement ps = con.prepareStatement("insert into student(stu_name,stu_no,age,stu_message) values(?,?,?,?)"

, Statement.RETURN_GENERATED_KEYS);

ps.setString(1,student.getStuName());

ps.setString(2,student.getStuNo());

ps.setInt(3,student.getAge());

ps.setString(4,student.getStuMessage());

return ps;

}

},keyHolder);

student.setId(keyHolder.getKey().intValue());

return result;

}

@Override

public int updateStudent(Student student) {

int result = jdbcTemplate.update("update student set stu_name=?,stu_no=?,age=?,stu_message=? where id = ?",

student.getStuName(),student.getStuNo(),student.getAge(),student.getStuMessage(),student.getId());

return result;

}

@Override

public int deleteStudentById(Integer id) {

int result = jdbcTemplate.update("delete from student where id = ?", id);

return result;

}

//这种查询比较麻烦,要一个一个设值

@Override

public List getAllStudent() {

List list = jdbcTemplate.query("select * from student", new RowMapper() {

@Override

public Student mapRow(ResultSet rs, int rowNum) throws SQLException {

int id = rs.getInt("id");

String stuName = rs.getString("stu_name");

String stuNo = rs.getString("stu_no");

int age = rs.getInt("age");

String stuMessage = rs.getString("stu_message");

Student student = new Student();

student.setId(id);

student.setStuName(stuName);

student.setStuNo(stuNo);

student.setAge(age);

student.setStuMessage(stuMessage);

return student;

}

});

return list;

}

//这种方式比较方便,但是有一个前提:数据库表的字段和java实体类的属性名要完全一致

//或者数据库表的字段下划线命名方式对应java实体类属性名的驼峰命名方式

@Override

public List getAllStudent2() {

List list = jdbcTemplate.query("select * from student",new BeanPropertyRowMapper<>(Student.class));

return list;

}

}

2. jdbcTemplate配置多数据源

2.1 pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

jdbctemplateutil

0.0.1-SNAPSHOT

jdbctemplateutil

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

jdbctemplateutil

0.0.1-SNAPSHOT

jdbctemplateutil

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-jdbc

org.springframework.boot

spring-boot-starter-web

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

2.2 application.properties

# springboot配置多数据源

spring.datasource.one.username=root

spring.datasource.one.password=root

spring.datasource.one.jdbcurl=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

spring.datasource.two.username=root

spring.datasource.two.password=root

spring.datasource.two.jdbcurl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

2.3 实体类

package com.yl.jdbctemplateutil.model;

import java.io.Serializable;

public class Student implements Serializable {

private Integer id;

private String stuName;

private String stuNo;

private Integer age;

private String stuMessage;

@Override

public String toString() {

return "Student{" +

"id=" + id +

", stuName='" + stuName + '\'' +

", stuNo='" + stuNo + '\'' +

", age=" + age +

", stuMessage='" + stuMessage + '\'' +

'}';

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getStuMessage() {

return stuMessage;

}

public void setStuMessage(String stuMessage) {

this.stuMessage = stuMessage;

}

}

2.4 数据源配置

package com.yl.jdbctemplateutil.config;

import com.zaxxer.hikari.HikariDataSource;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

@Configuration

public class DatasourceConfig {

@Bean

@ConfigurationProperties(prefix = "spring.datasource.one")

DataSource dsOne() {

return new HikariDataSource();

}

@Bean

@ConfigurationProperties(prefix = "spring.datasource.two")

DataSource dsTwo() {

return new HikariDataSource();

}

}

2.5 jdbctemplate配置

package com.yl.jdbctemplateutil.config;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.jdbc.core.JdbcTemplate;

import javax.sql.DataSource;

@Configuration

public class JdbcTemplateConfig {

@Bean

JdbcTemplate jdbcTemplateOne(@Qualifier("dsOne")DataSource dataSource) {

return new JdbcTemplate(dataSource);

}

@Bean

JdbcTemplate jdbcTemplateTwo(@Qualifier("dsTwo")DataSource dataSource) {

return new JdbcTemplate(dataSource);

}

}

2.6 注入模板测试

3. springboot整合mybatis(注解方式)

3.1 pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatis

0.0.1-SNAPSHOT

mybatis

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatis

0.0.1-SNAPSHOT

mybatis

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

3.2 application.properties

# 数据源配置

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

3.3 实体类

package com.yl.mybatis.model;

import java.io.Serializable;

public class Student implements Serializable {

private Integer id;

private String stuName;

private String stuNo;

private Integer age;

private String stuMessage;

@Override

public String toString() {

return "Student{" +

"id=" + id +

", stuName='" + stuName + '\'' +

", stuNo='" + stuNo + '\'' +

", age=" + age +

", stuMessage='" + stuMessage + '\'' +

'}';

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getStuMessage() {

return stuMessage;

}

public void setStuMessage(String stuMessage) {

this.stuMessage = stuMessage;

}

}

3.4 mapper

package com.yl.mybatis.mapper;

import com.yl.mybatis.model.Student;

import org.apache.ibatis.annotations.*;

import java.util.List;

public interface StudentMapper {

@Select("select * from student where id = #{id}")

Student getStudentById(Integer id);

@Insert("insert into student(stu_name,stu_no,age,stu_message) values(#{stuName},#{stuNo},#{age},#{stuMessage})")

//回写id

@SelectKey(statement = "select last_insert_id()",keyProperty = "id",before = false,resultType = Integer.class)

Integer addStudent(Student student);

//表字段和java实体属性映射

@Results({

@Result(property = "stuName",column = "stu_name"),

@Result(property = "stuNo",column = "stu_no"),

@Result(property = "stuMessage",column = "stu_message")

})

@Select("select * from student")

List getAllStudent();

@Delete("delete from student where id = #{id}")

Integer deleteById(Integer id);

@Update("update student set stu_name = #{stuName},stu_no = #{stuNo},age = #{age},stu_message = #{stuMessage} where id = #{id}")

Integer updateByStudent(Student student);

}

3.5 service

package com.yl.mybatis.service;

import com.yl.mybatis.model.Student;

import java.util.List;

public interface StudentService {

Student getStudentById(Integer id);

Integer addStudent(Student student);

List getAllStudent();

Integer deleteById(Integer id);

Integer updateById(Student student);

}

3.6 srviceImpl

package com.yl.mybatis.service.impl;

import com.yl.mybatis.mapper.StudentMapper;

import com.yl.mybatis.model.Student;

import com.yl.mybatis.service.StudentService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class StudentServiceImpl implements StudentService {

@Autowired

private StudentMapper studentMapper;

@Override

public Student getStudentById(Integer id) {

return studentMapper.getStudentById(id);

}

@Override

public Integer addStudent(Student student) {

return studentMapper.addStudent(student);

}

@Override

public List getAllStudent() {

return studentMapper.getAllStudent();

}

@Override

public Integer deleteById(Integer id) {

return studentMapper.deleteById(id);

}

@Override

public Integer updateById(Student student) {

return studentMapper.updateByStudent(student);

}

}

3.7 扫描mapper

3.8 测试

4. springboot整合mybatis(xml方式)

4.1 pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatis

0.0.1-SNAPSHOT

mybatis

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatis

0.0.1-SNAPSHOT

mybatis

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

org.springframework.boot

spring-boot-maven-plugin

4.2 application.xml

# 数据源配置

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

# mybatis配置

# 扫描xml文件

mybatis.mapper-locations=classpath:mapper/*.xml

4.3 实体类

package com.yl.mybatis.model;

import java.io.Serializable;

public class Student implements Serializable {

private Integer id;

private String stuName;

private String stuNo;

private Integer age;

private String stuMessage;

@Override

public String toString() {

return "Student{" +

"id=" + id +

", stuName='" + stuName + '\'' +

", stuNo='" + stuNo + '\'' +

", age=" + age +

", stuMessage='" + stuMessage + '\'' +

'}';

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getStuMessage() {

return stuMessage;

}

public void setStuMessage(String stuMessage) {

this.stuMessage = stuMessage;

}

}

4.4 mapper

package com.yl.mybatis.mapper;

import com.yl.mybatis.model.Student;

import java.util.List;

public interface StudentMapper {

Student getStudentById(Integer id);

Integer addStudent(Student student);

List getAllStudent();

Integer deleteById(Integer id);

Integer updateById(Student student);

}

4.5 mapper.xml

select * from student where id = #{id}

select * from student

insert into student(stu_name,stu_no,age,stu_message) values(#{stuName},#{stuNo},#{age},#{stuMessage})

delete from student where id = #{id}

update student set stu_name=#{stuName},stu_no=#{stuNo},age=#{age},stu_message=#{stuMessage} where id = #{id}

4.6 service

package com.yl.mybatis.service;

import com.yl.mybatis.model.Student;

import java.util.List;

public interface StudentService {

Student getStudentById(Integer id);

Integer addStudent(Student student);

List getAllStudent();

Integer deleteById(Integer id);

Integer updateById(Student student);

}

4.7 serviceImpl

package com.yl.mybatis.service.impl;

import com.yl.mybatis.mapper.StudentMapper;

import com.yl.mybatis.model.Student;

import com.yl.mybatis.service.StudentService;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import java.util.List;

@Service

public class StudentServiceImpl implements StudentService {

@Autowired

private StudentMapper studentMapper;

@Override

public Student getStudentById(Integer id) {

return studentMapper.getStudentById(id);

}

@Override

public Integer addStudent(Student student) {

return studentMapper.addStudent(student);

}

@Override

public List getAllStudent() {

return studentMapper.getAllStudent();

}

@Override

public Integer deleteById(Integer id) {

return studentMapper.deleteById(id);

}

@Override

public Integer updateById(Student student) {

return studentMapper.updateById(student);

}

}

4.8 扫描mapper

5. mybatis整合多数据源

5.1 pom.xml

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatisutil

0.0.1-SNAPSHOT

mybatisutil

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

src/main/java

**/*.xml

src/main/resources

org.springframework.boot

spring-boot-maven-plugin

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

org.springframework.boot

spring-boot-starter-parent

2.5.5

com.yl

mybatisutil

0.0.1-SNAPSHOT

mybatisutil

Demo project for Spring Boot

1.8

org.springframework.boot

spring-boot-starter-web

org.mybatis.spring.boot

mybatis-spring-boot-starter

2.2.0

mysql

mysql-connector-java

runtime

org.springframework.boot

spring-boot-starter-test

test

src/main/java

**/*.xml

src/main/resources

org.springframework.boot

spring-boot-maven-plugin

5.2 application.properties

# 数据源配置

spring.datasource.one.username=root

spring.datasource.one.password=root

spring.datasource.one.jdbcurl=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

spring.datasource.two.username=root

spring.datasource.two.password=root

spring.datasource.two.jdbcurl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai

5.3 实体类

package com.yl.mybatisutil.model;

import java.io.Serializable;

public class Student implements Serializable {

private Integer id;

private String stuName;

private String stuNo;

private Integer age;

private String stuMessage;

@Override

public String toString() {

return "Student{" +

"id=" + id +

", stuName='" + stuName + '\'' +

", stuNo='" + stuNo + '\'' +

", age=" + age +

", stuMessage='" + stuMessage + '\'' +

'}';

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getStuName() {

return stuName;

}

public void setStuName(String stuName) {

this.stuName = stuName;

}

public String getStuNo() {

return stuNo;

}

public void setStuNo(String stuNo) {

this.stuNo = stuNo;

}

public Integer getAge() {

return age;

}

public void setAge(Integer age) {

this.age = age;

}

public String getStuMessage() {

return stuMessage;

}

public void setStuMessage(String stuMessage) {

this.stuMessage = stuMessage;

}

}

5.4 mapper1

package com.yl.mybatisutil.mapper1;

import com.yl.mybatisutil.model.Student;

import java.util.List;

public interface StudentMapper1 {

List getAllStudent();

}

5.5 mapper2

package com.yl.mybatisutil.mapper2;

import com.yl.mybatisutil.model.Student;

import java.util.List;

public interface StudentMapper2 {

List getAllStudent();

}

5.6 mapper1.xml

select * from student

5.7 mapper2.xml

select * from student

5.8 数据源配置

package com.yl.mybatisutil.config;

import com.zaxxer.hikari.HikariDataSource;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

/**

* 多数据源配置

*/

@Configuration

public class DataSourceConfig {

@Bean

http:// @ConfigurationProperties(prefix = "spring.datasource.one")

DataSource dsOne() {

return new HikariDataSource();

}

@Bean

@ConfigurationProperties(prefix = "spring.datasource.two")

DataSource dsTwo() {

return new HikariDataSource();

}

}

5.9 mybatis配置1

package com.yl.mybatisutil.config;

import org.apache.ibatis.session.SqlSessionFactory;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.SqlSessionTemplate;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotatiohttp://n.Qualifier;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

/**

* mybatis的配置

*/

@Configuration

@MapperScan(basePackages = "com.yl.mybatisutil.mapper1",sqlSessionFactoryRef = "sqlSessionFactory1",sqlSessionTemplateRef = "sqlSessionTemplate1")

public class MyBatisConfigOne {

@Qualifier("dsOne")

@Autowired

DataSource dataSource;

@Bean

SqlSessionFactory sqlSessionFactory1() {

try {

SqlSessionFactory sqlSessionFactory = null;

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

sqlSessionFactoryBean.setDataSource(dataSource);

sqlSessionFactory = sqlSessionFactoryBean.getObject();

return sqlSessionFactory;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

@Bean

SqlSessionTemplate sqlSessionTemplate1() {

return new SqlSessionTemplate(sqlSessionFactory1());

}

}

5.10 mybatis配置2

package com.yl.mybatisutil.config;

import org.apache.ibatis.session.SqlSessionFactory;

import org.mybatis.spring.SqlSessionFactoryBean;

import org.mybatis.spring.SqlSessionTemplate;

import org.mybatis.spring.annotation.MapperScan;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.beans.factory.annotation.Qualifier;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import javax.sql.DataSource;

/**

* mybatis的配置

*/

@Configuration

@MapperScan(basePackages = "com.yl.mybatisutil.mapper2",sqlSessionFactoryRef = "sqlSessionFactory2",sqlSessionTemplateRef = "sqlSessionTemplate2")

public class MyBatisConfigTwo {

@Qualifier("dsTwo")

@Autowired

DataSource dataSource;

@Bean

SqlSessionFactory sqlSessionFactory2() {

try {

SqlSessionFactory sqlSessionFactory = null;

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();

sqlSessionFactoryBean.setDataSource(dataSource);

sqlSessionFactory = sqlSessionFactoryBean.getObject();

return sqlSessionFactory;

} catch (Exception e) {

e.printStackTrace();

return null;

}

}

@Bean

SqlSessionTemplate sqlSessionTemplate2() {

return new SqlSessionTemplate(sqlSessionFactory2());

}

}

5.11 项目结构


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:路由器转发数据包的封装过程(如何封装一个源路由数据包)
下一篇:路由交换学习第七天:交换机之间trunk_PC和路由器通信(交换机和路由器用trunk吗)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~