MyBatis开发步骤:
①添加MyBatis的坐标
②创建user数据表
③编写User实体类
④编写映射文件UserMapper.xml
⑤编写核心文件SqlMapConfig.xml
⑥编写测试类
MyBatis的映射文件概述
测试语句
InputStream resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
int delete = sqlSession.delete("userMapper.delete",3);
System.out.println(delete);
sqlSession.commit();
sqlSession.close();
知识小结
增删改查映射配置与API:
查询数据: List<User> userList = sqlSession.selectList("userMapper.findAll");
<select id="findAll" resultType="com.wanxi.domain.User">
select * from User
</select>
添加数据: sqlSession.insert("userMapper.add", user);
<insert id="add" parameterType="com.wanxi.domain.User">
insert into user values(#{id},#{username},#{password})
</insert>
修改数据: sqlSession.update("userMapper.update", user);
<update id="update" parameterType="com.wanxi.domain.User">
update user set username=#{username},password=#{password} where id=#{id}
</update>
删除数据:sqlSession.delete("userMapper.delete",3);
<delete id="delete" parameterType="java.lang.Integer">
delete from user where id=#{id}
</delete>
MyBatis常用配置解析
1)environments标签
数据库环境的配置,支持多环境配置
核心配置文件常用配置:
properties标签:该标签可以加载外部的properties文件
<properties resource="jdbc.properties"></properties>typeAliases标签:设置类型别名
<typeAlias type="com.wanxi.domain.User" alias="user"></typeAlias>mappers标签:加载映射配置
<mapper resource="com/wanxi/mapper/UserMapping.xml"></mapper>environments标签:数据源环境配置标签
<?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="jdbc.properties"></properties> <typeAliases> <typeAlias type="com.tongchenglaoli.domain.User" alias="user"></typeAlias> </typeAliases> <environments default="dev"> <environment id="dev"> <transactionManager type="JDBC"></transactionManager> <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="mapper/userMapper.xml"></mapper> </mappers> </configuration>
MyBatis相应API
1. SqlSession工厂构建器SqlSessionFactoryBuilder
常用API:SqlSessionFactory build(InputStream inputStream)
通过加载mybatis的核心文件的输入流的形式构建一个SqlSessionFactory对象
String resource = "org/mybatis/builder/mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(inputStream);其中, Resources 工具类,这个类在 org.apache.ibatis.io 包中。Resources 类帮助你从类路径下、文件系统或一个 web URL 中加载资源文件。
SqlSession工厂对象SqlSessionFactory
SqlSessionFactory 有多个个方法创建SqlSession 实例。常用的有如下两个:
SqlSession会话对象
SqlSession 实例在 MyBatis 中是非常强大的一个类。在这里你会看到所有执行语句、提交或回滚事务和获取映射器实例的方法。
执行语句的方法主要有:
<T> T selectOne(String statement, Object parameter)
<E> List<E> selectList(String statement, Object parameter)
int insert(String statement, Object parameter)
int update(String statement, Object parameter)
int delete(String statement, Object parameter)
操作事务的方法主要有:
void commit()
void rollback()