Spring 整合MyBatis

创建工程

Spring 整合MyBatis_第1张图片

pom.xml


4.0.0

com.by
Spring_MyBatis
1.0-SNAPSHOT


    
    UTF-8
    UTF-8
    
    1.8
    1.8



    
    
        org.springframework
        spring-context
        5.1.8.RELEASE
    
    
        org.springframework
        spring-aspects
        5.1.8.RELEASE
    
    
        org.springframework
        spring-tx
        5.1.8.RELEASE
    
    
        org.springframework
        spring-jdbc
        5.1.8.RELEASE
    
    
    
        mysql
        mysql-connector-java
        5.1.47
    
    
    
        com.alibaba
        druid
        1.1.0
    
    
    
        org.mybatis
        mybatis
        3.5.3
    
    
        org.mybatis
        mybatis-spring
        2.0.3
    
    
    
        org.slf4j
        slf4j-log4j12
        1.7.26
    
    
    
        org.springframework
        spring-test
        5.1.8.RELEASE
    
    
        junit
        junit
        4.12
    



    
        
            src/main/java
            
                **/*.xml
            
        
    

log4j.properties (日志)

log4j.rootLogger=DEBUG,A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=[%t] [%c]-[%p] %m%n

applicationContext.xml



    
    

配置数据源

db.properties

jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=UTF-8
jdbc.username=root
jdbc.password=1111

applicationContext.xml


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       ">

    
	<context:property-placeholder location="classpath:db.properties" />

    
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
          											destroy-method="close">
        <property name="driverClassName" value="${jdbc.driverClass}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
    bean>
beans>

整合MyBatis

applicationContext.xml


<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource">property>
    <property name="typeAliasesPackage" value="com.by.pojo">property>
bean>


<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    
    <property name="basePackage" value="com.by.mapper">property>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory">property>
bean>

测试

创建表

CREATE TABLE `t_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `money` float DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

pojo

package com.by.pojo;

public class User {
    private Integer id;
    private String name;
    private Float money;

    public User(String name, Float money) {
        this.name = name;
        this.money = money;
    }

    public User() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Float getMoney() {
        return money;
    }

    public void setMoney(Float money) {
        this.money = money;
    }
}

6.4.3.mapper

public interface UserMapper {

    public void addUser(User user);
}

DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.by.mapper.UserMapper">
    <insert id="addUser" parameterType="User">
		insert into t_user(name,money) values(#{name},#{money})
	insert>
mapper>

service

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public void addUser(User user) {
        userMapper.addUser(user);
    }
}

junit

package com.by.test;

import com.by.pojo.User;
import com.by.service.UserService;
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;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:applicationContext.xml")//加载配置文件
public class ServiceTest {
    
    @Autowired
    private UserService userService;

    @Test
    public void testAdd(){
        userService.addUser(new User("张三丰",4000F));

        userService.addUser(new User("宋远桥",2000F));
    }
}

你可能感兴趣的:(spring,mybatis,java)