mybatis里的批量别名设置(批量扫描)方式、映射配置文件扫描的三种方法以及连接池链接的两种方式

问题描述:

当我们在使用mybatis和数据库进行操作时,需要对数据表里的属性做对应的实体封装,而当我们在使用实体属性来关联对应表字段时,有时会因为字段属性名不一致导致出错。这时,我们就可以使用取别名或者扫描的方式来解决这个问题。
如下:
在这里插入图片描述
column对应的是数据表的字段,property对应的是实体属性名称,如果不一致就容易出错。


别名配置实现的两种方法:

提示:我们可以在resources资源目录下的SqlMapConfig.xml配置文件中进行配置,
在这里插入图片描述

1.单个或多个配置实体类的别名

代码如下:

<!-- 配置实体类的别名-->
    <typeAliases>
        <!--单个别名配置-->
        <typeAlias alias="user" type="cn.it.domain.Users">
        </typeAlias>
        <typeAlias alias="Product" type="cn.it.domain.Product">
        <typeAlias alias="QueryVo" type="cn.it.domain.QueryVo">
    </typeAliases>

说明:alias是单个实体的类名(实体文件名),type是实体类文件的路径,这样使用User或user都可以了。

1.批量扫描配置实体类的别名

<!-- 配置实体类的别名-->
    <typeAliases>
        <!--批量-->
        <package name="cn.it.domain"></package>
        <!-- <package name="user"></package>-->
    </typeAliases>

说明:可以直接使用标签通过name属性绑定,直接扫描实体类的domain父文件夹,或者实体类都可以


连接池配置文件扫描的三种方式:

提示:同样我们要使用mybaitis映射文件的方式,就需要在resources资源目录下的SqlMapConfig.xml配置文件中使用标签导入映射文件的位置
代码如下:

<!-- 指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件 -->
    <mappers>
    	<!--第一种,设置相对路径-->
        <!--<mapper resource="cn/it/dao/UserDao.xml"/>-->
        <!-- 第二种,使用 mapper 接口类路径-->
        <!--<mapper class="cn.it.dao.UserDao"></mapper>
        <mapper class="cn.it.dao.AccountDao"></mapper>-->
            <!--第三种,批量扫描-->
        <package name="cn.it.dao"></package>
    </mappers>

说明cn.it.dao是接口层:
在这里插入图片描述


连接池链接的两种方式

第一种,直接在xml配置文件中实现连接池

提示:在resources资源文件的SqlMapConfig.xml中配置如下代码:

<!--配置连接池-->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ssm_01"/>
        <property name="user" value="root"/>
        <property name="password" value=""/>
    </bean>
说明:localhost:3306/ssm_01为本地数据库端口和数据库名称,root是数据库账户名,password应为密码,此处我的没设置密码

第二种,使用引用的方式实现连接池

提示:在resources资源文件下新建一个db.properties.xml的文件,用于存放连接数据库的四个基本信息:
在这里插入图片描述
内容如下:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_lianxi02
jdbc.username=root
jdbc.password=
说明:localhost:3306/ssm_01为本地数据库端口和数据库名称,root是数据库账户名,password应为密码,此处我的没设置密码

然后在SqlMapConfig.xml中配置如下代码:

<!--加载数据源-->
    <properties resource="db.properties"></properties>
<!-- 配置环境 -->
    <environments default="mysql">
        <!-- 配置mysql的环境-->
        <environment id="mysql">
            <!-- 配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置数据源(连接池) -->
            <dataSource type="POOLED">
                <!-- 配置连接数据库的4个基本信息 -->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
这样就配置完成啦

总结

到这里,文章就结束啦!感谢你的阅读,希望对你有所帮助!!!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值