mybaits和spring整合步骤

创建一个数据库表

CREATE DATABASE smbms ;
USE smbms;
DROP TABLE IF EXISTS smbms_provider;
CREATE TABLE smbms_provider (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘主键ID’,
proCode varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商编码’,
proName varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商名称’,
proDesc varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商详细描述’,
proContact varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘供应商联系人’,
proPhone varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘联系电话’,
proAddress varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘地址’,
proFax varchar(20) COLLATE utf8_unicode_ci DEFAULT NULL COMMENT ‘传真’,
createdBy bigint(20) DEFAULT NULL COMMENT ‘创建者(userId)’,
creationDate datetime DEFAULT NULL COMMENT ‘创建时间’,
modifyDate datetime DEFAULT NULL COMMENT ‘更新时间’,
modifyBy bigint(20) DEFAULT NULL COMMENT ‘更新者(userId)’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*Data for the table smbms_provider */
insert into smbms_provider(id,proCode,proName,proDesc,proContact,proPhone,proAddress,proFax,createdBy,creationDate,modifyDate,modifyBy) values (1,‘BJ_GYS001’,‘北京三木堂商贸有限公司’,‘长期合作伙伴,主营产品:茅台、五粮液、郎酒、酒鬼酒、泸州老窖、赖茅酒、法国红酒等’,‘张国强’,‘13566667777’,‘北京市丰台区育芳园北路’,‘010-58858787’,1,‘2013-03-21 16:52:07’,NULL,NULL),(2,‘HB_GYS001’,‘石家庄帅益食品贸易有限公司’,‘长期合作伙伴,主营产品:饮料、水饮料、植物蛋白饮料、休闲食品、果汁饮料、功能饮料等’,‘王军’,‘13309094212’,‘河北省石家庄新华区’,‘0311-67738876’,1,‘2016-04-13 04:20:40’,NULL,NULL),(3,‘GZ_GYS001’,‘深圳市泰香米业有限公司’,‘初次合作伙伴,主营产品:良记金轮米,龙轮香米等’,‘郑程瀚’,‘13402013312’,‘广东省深圳市福田区深南大道6006华丰大厦’,‘0755-67776212’,1,‘2014-03-21 16:56:07’,NULL,NULL);

Pom.xml配置

 <!--db-->
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-dbcp2</artifactId>
        <version>2.1.1</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.40</version>
    </dependency>
    <!--mybatis-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.4</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.3.1</version>
    </dependency>
    <!-- log4j -->
    <!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.8.2</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver -->
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.8.13</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/aopalliance/aopalliance -->
    <dependency>
        <groupId>aopalliance</groupId>
        <artifactId>aopalliance</artifactId>
        <version>1.0</version>
    </dependency>

</dependencies>
<build>
    <!--扫描到xml文件-->
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

创建provider商品类

public class Provider {
private int id;
private String proCode;
private String proName;
private String proDesc;
private String proContact;
private String proPhone;
private String proAddress;
private String proFax;//传真
private long createdBy;
private Date creationDate;
private Date modifyDate;
private long modifyBy;

@Override
public String toString() {
    return "Provider{" +
            "id=" + id +
            ", proCode='" + proCode + '\'' +
            ", proName='" + proName + '\'' +
            ", proDesc='" + proDesc + '\'' +
            ", proContact='" + proContact + '\'' +
            ", proPhone='" + proPhone + '\'' +
            ", proAddress='" + proAddress + '\'' +
            ", proFax='" + proFax + '\'' +
            ", createdBy=" + createdBy +
            ", creationDate=" + creationDate +
            ", modifyDate=" + modifyDate +
            ", modifyBy=" + modifyBy +
            '}';
}

public int getId() {
    return id;
}

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

public String getProCode() {
    return proCode;
}

public void setProCode(String proCode) {
    this.proCode = proCode;
}

public String getProName() {
    return proName;
}

public void setProName(String proName) {
    this.proName = proName;
}

public String getProDesc() {
    return proDesc;
}

public void setProDesc(String proDesc) {
    this.proDesc = proDesc;
}

public String getProContact() {
    return proContact;
}

public void setProContact(String proContact) {
    this.proContact = proContact;
}

public String getProPhone() {
    return proPhone;
}

public void setProPhone(String proPhone) {
    this.proPhone = proPhone;
}

public String getProAddress() {
    return proAddress;
}

public void setProAddress(String proAddress) {
    this.proAddress = proAddress;
}

public String getProFax() {
    return proFax;
}

public void setProFax(String proFax) {
    this.proFax = proFax;
}

public long getCreatedBy() {
    return createdBy;
}

public void setCreatedBy(long createdBy) {
    this.createdBy = createdBy;
}

public Date getCreationDate() {
    return creationDate;
}

public void setCreationDate(Date creationDate) {
    this.creationDate = creationDate;
}

public Date getModifyDate() {
    return modifyDate;
}

public void setModifyDate(Date modifyDate) {
    this.modifyDate = modifyDate;
}

public long getModifyBy() {
    return modifyBy;
}

public void setModifyBy(long modifyBy) {
    this.modifyBy = modifyBy;
}

dao层创建一个接口ProviderMapper

public interface ProviderMapper {
    //查询所有供应商信息
    public List<Provider> getList();

}

然后创建接口的实现类ProviderDaoImpl(impl)

public class ProviderDaoImpl implements ProviderMapper {
private SqlSessionTemplate sqlSessionTemplate;

public SqlSessionTemplate getSqlSessionTemplate() {
    return sqlSessionTemplate;
}

public void setSqlSessionTemplate(SqlSessionTemplate sqlSessionTemplate) {
    this.sqlSessionTemplate = sqlSessionTemplate;
}

public List<Provider> getList() {
    return sqlSessionTemplate.selectList("com.bdqn.dao.ProviderMapper.getList");
}

mapper层创建一个UserMapper.xml文件,查询smbms_provider表sql语句。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bdqn.dao.ProviderMapper">
    <select id="getList" resultType="Provider">
        select * from smbms_provider
    </select>
</mapper>

逻辑层service创建一个ProviderService类

public interface ProviderService {
    public List<Provider> getList();
}

然后编写它的实现类ProviderServiceImpl(impl)

public class ProviderServiceImpl implements ProviderService {
    private ProviderMapper providerMapper;

    public ProviderMapper getProviderMapper() {
        return providerMapper;
    }

    public void setProviderMapper(ProviderMapper providerMapper) {
        this.providerMapper = providerMapper;
    }

    public List<Provider> getList() {
        return providerMapper.getList();
    }
}

创建mybatis应用配置文件mybatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
    <package name="com.bdqn.pojo"/>
</typeAliases>
</configuration>

创建spring应用配置文件applicationContext1.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"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">


    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/smbms"/>
        <property name="username" value="root"/>
        <property name="password" value="zhangwuqi"/>
    </bean>


    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <property name="mapperLocations">
            <list>
                <value>classpath:com/bdqn/mapper/**/*.xml</value>
            </list>
        </property>
    </bean>


    <!--SqlSessionTemplate没有无参构造方法,也没有sqlSessionFactory
    ,只能使用构造注入-->
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg ref="sqlSessionFactory"/>
    </bean>

    <!--Dao层-->
    <bean id="providerMapper" class="com.bdqn.dao.impl.ProviderDaoImpl">
        <property name="sqlSessionTemplate" ref="sqlSession"/>
    </bean>
    <!--service层-->
    <bean id="providerService" class="com.bdqn.service.impl.ProviderServiceImpl">
        <property name="providerMapper" ref="providerMapper"/>
    </bean>
</beans>

结果类

public class Test {
    public static void main(String[] args) {
        org.apache.logging.log4j.Logger logger= LogManager.getLogger(Test.class);
        //读取applicationContext.xml
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        ProviderService ps=(ProviderService)context.getBean("providerService");
        List<Provider> list=ps.getList();
        for (Provider p:list){
            System.out.println(p);
        }
    }
}

结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值