SSM-遇见的一些小坑(一)-mapper的问题

mybatis实现Dao有两种方法:一种是正常的开发Dao层,另一种是mapper动态代理的方式。

在通过mapper代理的方式进行开发时,要注意mybatis.xml的namespace指向的是Dao的接口类,注意是接口类的路径,不是接口类所在文件的路径(也就是说带上类就行了),其次这个mapper标签中的属性的id指向的是类中的方法,带参数的一定要带上parameterType属性,例如这样:

<?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.Dao.userDao.addUserDao">

    <insert id="addUser" parameterType="user">
        insert into user(username,password) values(#{userName},#{password})
    </insert>


</mapper>

其次是Spring-mybatis.xml文件,首先找到一个class为

org.mybatis.spring.SqlSessionFactoryBean的bean,然后在这个bean中找到一个属性名为:
name="mapperLocations"的标签,然后添加一个value,(这里有一点要注意,我在开始的时候把mapper.xml放到源码中的,但是就是扫描不到mapper.xml,然后把它移到resources中就好了),例如这样:
 <!-- 配置SqlSessionFactory对象 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 注入数据库连接池 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 扫描model包 使用别名 -->
        <property name="typeAliasesPackage" value="com.Model"/>
        <!-- 扫描sql配置文件:mapper需要的xml文件 -->
        <property name="mapperLocations" value="classpath:mapper/mapper.xml"/>
    </bean>

在这里还需要知道:sqlSession中封装了对数据库的操作(增删改查了什么的),而sqlSession又是由sqlSessionFactory创建的,sqlSessionFactory又是由sqlSessionFactoryBuilder进行创建的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值