Spring整合mybatis - Go语言中文社区

Spring整合mybatis


1、在IDEA环境下新建JAVA工程项目spring_mybatis

新建项目

2、新建lib文件夹,导入spring相关jar包和mybatis相关jar包

jar包
项目目录如下所示:
项目目录

3、新建实体类Goods.java,接口GoodsDao.java和接口实现类GoodsDaoImpl.java

Goods.java

package cn.ll.vo;

public class Goods {
    private int id;
    private String description;
    private Float current_price;
    private Float original_price;

    public int getId() {
        return id;
    }

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

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Float getCurrent_price() {
        return current_price;
    }

    public void setCurrent_price(Float current_price) {
        this.current_price = current_price;
    }

    public Float getOriginal_price() {
        return original_price;
    }

    public void setOriginal_price(Float original_price) {
        this.original_price = original_price;
    }
}

GoodsDao.java

package cn.ll.dao;

import cn.ll.vo.Goods;

import java.util.List;

public interface GoodsDao {
    public List<Goods> selectGoods();
}

GoodsDaoImpl.java

package cn.ll.dao.impl;

import cn.ll.dao.GoodsDao;
import cn.ll.vo.Goods;
import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

public class GoodsDaoImpl implements GoodsDao {
    private SqlSessionTemplate sqlSession;

    public void setSqlSession(SqlSessionTemplate sqlSession) {
        this.sqlSession = sqlSession;
    }

    @Override
    public List<Goods> selectGoods() {
        List<Goods> goodsList = sqlSession.selectList("cn.ll.vo.GoodsMapper.selectGoods");
        return goodsList;
    }
}

在接口实现类中设置一个SqlSessionTemplate属性,并设定其set方法

4、编写sql语句的映射文件goods.mapper.xml

<?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="cn.ll.vo.GoodsMapper">
    <select id="selectGoods" resultType="cn.ll.vo.Goods">
        select * from theme
    </select>

</mapper>

此处selectGoods用于将theme数据表中的所有数据取出,数据类型为Goods类组成的List类型。

5、编写spring核心配置文件beans.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"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/aop
           http://www.springframework.org/schema/aop/spring-aop.xsd">
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="localhost:3306/exercise"/>
        <property name="username" value="root"/>
        <property name="password" value="root"/>
    </bean>
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="mapperLocations" value="classpath:cn/ll/vo/goods.mapper.xml"/>
    </bean>
    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory"/>
    </bean>
    <bean id="goodsDaoImpl" class="cn.ll.dao.impl.GoodsDaoImpl">
        <property name="sqlSession" ref="sqlSessionTemplate"/>
    </bean>

</beans>

首先声明一个bean对数据源进行配置,配置数据源驱动,数据库url,数据库账号密码等
然后配置一个sqlSessionFactory工厂类,添加其dataSource数据源属性和映射文件所在位置属性mapperLocations
最后为GoodsDao的实现类GoodsDaoImpl中注入sqlSession属性

6、新建测试类,对结果进行测试

import cn.ll.dao.impl.GoodsDaoImpl;
import cn.ll.vo.Goods;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class Test {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
        GoodsDaoImpl goodsDao = (GoodsDaoImpl)context.getBean("goodsDaoImpl");
        List<Goods> goodsList = goodsDao.selectGoods();
        for(Goods g:goodsList){
            System.out.println(g.getDescription());
        }
    }
}

此处将数据表theme中的description字段内容全部输出。
结果

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_40820235/article/details/104758335
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢