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文件中可以用