spring整合mybatis完整案例(配置文件方式)

一.项目整体结构

项目整体结构

二.详细内容

0.导入jar包

导入jar包

1.domian

(1)User实体类
User实体类
(2)UserMappser.xml
User类对应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">
<!-- 表与类的映射文件 -->
<!-- namespace 命名空间 唯一 :格式 :当前文件所在包名+映射文件去掉后缀的文件名 (类名) -->
<mapper namespace="cn.wang.domain.UserMapper">
    <!-- id标识 语句的唯一性 -->
    <!-- resultType 全类名 -->
    <select id="findAll" resultType="cn.wang.domain.User">
        SELECT * FROM tbl_user
    </select>
    <!-- add添加 -->
    <!-- parameterType表示参数类型 全类名 -->
    <!-- 设置参数 用#{属性名称}表示值的获取 -->
    <insert id="add" parameterType="cn.wang.domain.User">
        insert into tbl_user
        (uname,upsw,uage) values(#{uname},#{upsw},#{uage})
    </insert>
    <delete id="deleteById" parameterType="java.io.Serializable">
        delete from tbl_user where
        id=#{id}
    </delete>
    <update id="update" parameterType="cn.wang.domain.User">
        update tbl_user set
        uname=#{uname},upsw=#{upsw},uage=#{uage} where id=#{id}
    </update>
    <select id="findById" resultType="cn.wang.domain.User"
        parameterType="java.io.Serializable">
        select * from tbl_user where id=#{id}
    </select>
</mapper>

2. dao

(1)IUserDao

UserDao层接口,定义crud接口方法
IUserDao

(2)UserDaoImpl

dao接口实现类,继承SqlSessionDaoSupport,利用注入的SqlSession实现功能
UserDaoImpl

3.service

service层

4.applicationConetex.xml

spring核心配置文件

<?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"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<!-- 引入数据库信息配置文件 -->
<context:property-placeholder location="classpath:JDBC.properties"/>

<!-- dataSource -->

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${driverClassName}"></property>
    <property name="url" value="${url}"></property>
<!--    username获取时 不要使用username 会有问题  -->
    <property name="username" value="${user}"></property>
    <property name="password" value="${password}"></property>
</bean> 

<!-- 配置c3p0连接池 -->
<!--    
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"></property>
        <property name="jdbcUrl"
            value="jdbc:mysql:///Wang?useUnicode=true&amp;characterEncoding=UTF-8"></property>
        <property name="user" value="root"></property>
        <property name="password" value="root"></property>
</bean> 
-->

<!-- sessionFactory -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <!-- dataSource -->
    <property name="dataSource" ref="dataSource"></property>
    <!-- configLocation -->
    <property name="configLocation" value="classpath:conf.xml"></property>
</bean>

<!-- tx -->
<!-- 事务管理的通知 :哪个方法需要使用事务通知 -->
<tx:advice id="txAdvicd" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="add"/>
        <tx:method name="delete*"/>
        <tx:method name="update*"/>
    </tx:attributes>
</tx:advice>
<!-- aop事务管理 -->
<aop:config>
    <aop:advisor advice-ref="txAdvicd" pointcut="execution(* cn.wang.service.UserServiceImpl.*(..))"/>
</aop:config>
<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <!-- dataSource -->
    <property name="dataSource" ref="dataSource"></property>
</bean>

<!-- 导入外部文件 -->
<import resource="classpath:user.xml" />
</beans>

5.user.xml

User实体类对应的spring配置
需要在spring核心配置文件applicationConetex.xml中引入
引入

user.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">
<!-- service -->
<bean id="userService" class="cn.wang.service.UserServiceImpl">
    <property name="userDao" ref="userDao"></property>
</bean>
<!-- dao -->
<bean id="userDao" class="cn.wang.dao.UserDaoImpl">
    <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
</beans>

6.conf.xml

mybatis核心配置文件

<?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>
    <mappers>
        <!-- 映射注册 include -->
        <!-- resource 全路径 -->
        <mapper resource="cn/wang/domain/UserMapper.xml" />
    </mappers>
</configuration> 

JDBC.properties

数据库连接信息
 JDBC.properties

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值