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> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8&useSSL=false&serverTimezone=GMT&allowPublicKeyRetrieval=false&useUnicode=true" /> <property name="username" value="sa" /> <property name="password" value="admin" /> </dataSource> </environment> </environments> <mappers> <mapper resource="UserMapper.xml" /> </mappers> </configuration>
全局配置文件(SqlMapConfig.xml) 主要配置的是数据库的环境,数据表和java对象映射关系(sql映射文件)配置路径。
- environments:配置数据源的环境信息,可以配置多个数据源环境,即可以有多个environment。通过default属性选择其中一个环境信息。
- environment:数据源的配置环境。id属性是唯一标识,值可以为:development(开发)、test(测试)、produce(生产环境)。
- transactionManager:事务管理器。type属性是事务类型,值可以为:JDBC(当前mybatis事务管理,使用的是JDBC底层)、MANAGERED(mybatis不管事务,交给第三方框架管理,如:spring)。
- dataSource:数据源。type属性是连接池类型,值可以为:POOLED(使用数据库连接池,是mybatis自己的)、UNPOOLED(不用mybatis的连接池,交给第三方框架)
- property:分别包含数据库连接四大配置信息。
- mappers:映射器。配置的是数据表与java对象的映射关系(sql映射文件)。
- mapper:具体的映射关系,配置文件的路径。resource属性对应路径。
UserMapper.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.company.mapper.UserMapper"> <select id="queryUserList" resultType="com.company.pojo.User"> select * from user </select> <select id="queryUserByName" resultType="com.company.pojo.User" parameterType="String"> select * from user where username=#{username} </select> <select id="queryUserLikeName" resultType="com.company.pojo.User" parameterType="String"> select * from user where username like #{username} </select> <insert id="addUser" parameterType="com.company.pojo.User"> insert user(id,username,password,email,birthday) values(#{id},#{username},#{password},#{email},#{birthday}) </insert> </mapper>
sql映射文件(UserMapper.xml)
- mapper:namespace属性是名称空间。namespace+"."+id 能指定唯一sql。
- select: 配置sql的查询语句。id属性是唯一标识。resultType属性是查询结果集封装对象的类型。parameterType属性是执行sql时需要的参数类型。
SqlMapConfig.xml 配置文件通过properties标签可以引入外部的数据库配置属性文件。
db.properties文件
jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=GMT&useUnicode=true&allowPublicKeyRetrieval=false jdbc.username=sa jdbc.password=admin
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> <!-- 使用properties标签引用外部文件(数据库的属性集) resource属性表示外部文件的路径 外部文件中的数据优先级高于子标签property中设定的属性 --> <properties resource="db.properties"> <property name="username" value="root"></property> </properties> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <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> <mappers> <mapper resource="UserMapper.xml" /> </mappers> </configuration>
使用properties标签来引入外部文件(数据库的属性集),其中resource指明外部文件的路径。当properies标签中含有子标签时,而且外部文件与子标签含有相同的属性,那么外部文件的数据优先级高于子标签property中设定的属性值。通过${属性}来访问外部文件的属性值。
posted on
浙公网安备 33010602011771号