mybatis配置文件

1.配置

<?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>
    <!-- enviorment  -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
                                   <!-- MANAGED -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/test" />
                <property name="username" value="root" />
                <property name="password" value="123" />
            </dataSource>
        </environment>
    </environments>
     <!--  加载映射文件-->
    <mappers>
        <mapper resource="cn/sxt/entity/user.mapper.xml" />
    </mappers>
</configuration>

enviorments 指的是mybatis可以配置多个环境,default指向默认的环境

每个SqlSessionFactory对应一个enviorment

transactionManger事务管理,一种是JDBC,使用JDBC的提交和回滚功能,一种是MANEGED,是容器管理事务。

datasource 数据源类型

UNPOOLED 只是每次需要的时候简单的打开和关闭资源

POOLED 这个数据源的实现缓存了JDBC对象,用于避免每次创建新的数据库连接时都初始化和进行认证,加快程序响应。并发WEB通常使用这种方法完成响应

mappers 告诉Mybatis在哪里找到我们定义的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">
<!--  定义名称空间-->
<mapper namespace="cn.sxt.entity.UserMapper"> 
     <!--  根据id查询-->
    <select id="selectUser"  resultType="cn.sxt.entity.User">
        SELECT * FROM user WHERE id = #{id}    
    </select>
    <select id="selectAll" resultType="cn.sxt.entity.User">
        select * from user
    </select>
    <insert id="addUser" parameterType="cn.sxt.entity.User" useGeneratedKeys="true"> 
        insert into user(id,name,pwd) values(#{id},#{name},#{pwd})
    </insert>
    <update id="updateUser" parameterType="cn.sxt.entity.User">
        update user set name=#{name},pwd=#{pwd} where id=#{id}
    </update>
    <delete id="deleteUser">
        delete from user where id=#{id}
    </delete>
</mapper>

namespace 命名空间,防止sql语句的id重名

namespace 命名 包名+类名、包名+mapper文件名

id在该文件中唯一

parameterType 指的是sql语句参数类型

reslutType sql结果返回类型

useGenerateKeys = "true" 使用自增主键

2.优化配置文件

通过配置文件,创建一个sqlSessionFactory 是一个SqlSession的工厂类

sqlSession 通过id找到mapper里面的对应的sql语句,执行sql语句,

读取核心配置文件 ,创建sqlSessionFactory类,得到sqlSession 执行相关方法

properties元素配置

db.properties

driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/test"
root="root"
password="123"

在xml文件中可以用

Last modification:February 14th, 2020 at 07:01 pm
如果觉得我的文章对你有用,请随意赞赏