Spring+Mybatis整合

来源:互联网 发布:linux cp 合并文件夹 编辑:程序博客网 时间:2024/06/07 00:42

最近在学习Spring和Mybatis的框架,自己做了一个简单的Demo,记录一下笔记,有什么错误请大家指出。后面会继续更新,整合SpringMVC
构成SSM集合框架

  1. 目录结构

这里写图片描述
所需jar包
这里写图片描述

2.代码
sqlMapConfig.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.murong.ssm.po"/>    </typeAliases>    <mappers>        <mapper resource="com/murong/bean/mapper/MkmSceneMapper.xml"/>    </mappers></configuration>

applicationContext.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:context="http://www.springframework.org/schema/context"    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">    <bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="${mysql.jdbc.driver}"/>        <property name="url" value="${mysql.jdbc.url}"/>        <property name="username" value="${mysql.jdbc.username}"/>        <property name="password" value="${mysql.jdbc.password}"/>    </bean>    <context:property-placeholder location="classpath:mysql.properties"/>    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="configLocation" value="classpath:myBatis/sqlMapConfig.xml"/>        <property name="dataSource" ref="dataSource"/>    </bean>    <bean id="MkmSceneDao" class="com.murong.dao.impl.MkmSceneDaoIpl">        <property name="sqlSessionFactory" ref="sqlSessionFactory"/>    </bean></beans>

MkmSceneMapper.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="com.murong.mapper.MkmSceneMapper">    <select id="qry_mkm_scene" parameterType="String" resultType="MkmScene">        select * from t_mkm_scene where scene_id=#{scene_id}    </select>    <resultMap type="com.murong.ssm.po.MkmScene" id="SceneSpotResultMap">        <id column="scene_id" property="scene_id" />        <result column="merc_id" property="merc_id" />        <result column="merc_nm" property="merc_nm" />        <result column="scene_nm" property="scene_nm" />        <result column="scene_level" property="scene_level" />        <result column="scene_addr" property="scene_addr" />        <collection property="spots" ofType="com.murong.ssm.po.MkmSpot">            <id column="spot_id" property="spot_id" />            <result column="spot_nm" property="spot_nm" />            <result column="spot_str_tm" property="spot_str_tm" />            <result column="spot_end_tm" property="spot_end_tm" />            <result column="tm_smp" property="tm_smp" />            <result column="chk_oper" property="chk_oper" />            <result column="chk_dt" property="chk_dt" />            <result column="chk_tm" property="chk_tm" />            <result column="chk_sts" property="chk_sts" />        </collection>    </resultMap>    <select id="findSceneSpot" resultMap="SceneSpotResultMap">        SELECT s.scene_id        ,s.merc_id,s.merc_nm,s.scene_nm,s.scene_level,s.scene_addr,t.spot_id,t.spot_nm        ,t.spot_str_tm,t.spot_end_tm,t.tm_smp,t.chk_oper,t.chk_dt,t.chk_tm,t.chk_sts        FROM t_mkm_scene s ,t_mkm_spot t WHERE s.scene_id=t.scene_id    </select>    </mapper>

MkmSceneDao.java

public interface MkmSceneDao {    public List<MkmScene> qryMkmSceneSpot(String scene_id) throws IOException;    public MkmScene qryMkmScene(String scene_id) throws IOException;}

MkmSceneDaoIpl.java

public class MkmSceneDaoIpl extends SqlSessionDaoSupport implements MkmSceneDao {    @Override    public  List<MkmScene> qryMkmSceneSpot(String scene_id) throws IOException{         SqlSession sqlSession = this.getSqlSession();         List<MkmScene> list = sqlSession.selectList("com.murong.mapper.MkmSceneMapper.findSceneSpot", scene_id);         return list;    }    @Override    public MkmScene qryMkmScene(String scene_id) throws IOException {         SqlSession sqlSession = this.getSqlSession();         MkmScene mkmScene = sqlSession.selectOne("com.murong.mapper.MkmSceneMapper.qry_mkm_scene", scene_id);         return mkmScene;    }}

MkmScene.java
省略get和set方法

public class MkmScene {    private String  scene_id;    private String  merc_id;    private String  merc_nm;    private String  scene_nm;    private String  scene_level;    private String  scene_addr;    private String  image_url;    private String  scene_detail;    private String  ticket_price;    private String  str_tm;    private String  end_tm;    private String  scene_sts;    private String  cre_dt;    private String  tm_smp;    private String  scene_prov;    private String  scene_city;    private String  chk_oper;    private String  chk_dt;    private String  chk_tm;    private String  chk_sts;    private List<MkmSpot> spots;}

MkmSpot.java
省略get和Set方法

public class MkmSpot {    private String scene_id;    private String spot_id;    private String spot_nm;    private String spot_level;    private String spot_addr;    private String spot_image_url;    private String spot_detail;    private String spot_ticket_price;    private String spot_str_tm;    private String spot_end_tm;    private String tm_smp;    private String merc_id;    private String merc_nm;    private String chk_oper;    private String chk_dt;    private String chk_tm;    private String chk_sts;    private MkmScene mkmScenes;}

mysql.propertie

mysql.jdbc.driver=com.mysql.jdbc.Drivermysql.jdbc.url=jdbc:mysql://ip:3306/数据库实例名?useUnicode=true&amp;characterEncoding=gbk&amp;useOldAliasMetadataBehavior=truemysql.jdbc.username=userNamemysql.jdbc.password=passWord

log4j.properties

# Global logging configuration log4j.rootLogger=DEBUG, stdout # MyBatis logging configuration... log4j.logger.org.mybatis.example.BlogMapper=TRACE# Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

3.测试实例
MkmSceneDaoIplTest.java

public class MkmSceneDaoIplTest {    private ApplicationContext applicationContext;    @Before    public void setUp() throws Exception {        applicationContext = new ClassPathXmlApplicationContext("classpath:spring/applicationContext.xml");    }    @Test    public void test() throws IOException {        MkmSceneDao mkmSceneDao =(MkmSceneDao)applicationContext.getBean("MkmSceneDao");        List<MkmScene> list =mkmSceneDao.qryMkmSceneSpot("000000000000000068");        System.out.println(list.size());    }    @Test    public void testMkmScene() throws IOException{        MkmSceneDao mkmSceneDao =(MkmSceneDao)applicationContext.getBean("MkmSceneDao");        MkmScene mkmScene =mkmSceneDao.qryMkmScene("000000000000000068");        System.out.println(mkmScene);    }}
  1. 测试结果

    这里写图片描述

原创粉丝点击