InputStream inputStream = Resources.getResourceAsStream(resource); //得到全局文件
//获取sqlsession工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//从工厂中获取sqlsession
SqlSession sqlSession = sessionFactory.openSession();
需要配置XXXmapper.xml
在里面写sql语句
<mapper namespace="test">
<!-- 根据用户id查询用户信息
编写statement
parameterType:指定传入数据参数的类型
resultType:映射生成的java对象类型,select查询结果集的列名要和resultType指定java对象的属性名保持一致才可以映射
#{}:表示占位符,如果要传递简单类型数据,#{}可以写任意名称
-->
<select id="findUserById" parameterType="java.lang.Integer" //传入参数
resultType="cn.itcast.mybatis.po.User" //返回参数
>
SELECT * FROM USER WHERE id=#{value}
</select>
<!-- 用户插入
传用户类型的对象(user),
传入的是user对象,#{}中写user对象的属性名
-->
<insert id="insertUser" parameterType="cn.itcast.mybatis.po.User">
<!-- 将自增主键返回到user对象
keyProperty:返回到user对象中的属性名
order:返回主键的时机
LAST_INSERT_ID:通过此函数获取自增主键值
-->
<selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
select LAST_INSERT_ID() //插入时找到表中最后一个ID
</selectKey>
INSERT INTO USER(username,birthday,sex,address,detail,score)
VALUES(#{username},#{birthday},#{sex},#{address},#{detail},#{score})
</insert>
<!--根据id删除 用户信息
传入参数:整型id
-->
<delete id="deleteUserById" parameterType="java.lang.Integer">
DELETE FROM USER WHERE id=#{id}
</delete>
<!-- 根据主键更新用户信息
parameterType:传入数据不仅包括主键,包括要更新的信息
parameterType="cn.itcast.mybatis.po.User"
-->
<update id="updateUser" parameterType="cn.itcast.mybatis.po.User">
update user set username=#{username},birthday=#{birthday},sex=#{sex},address=#{address},detail=#{detail},score=#{score}
where id=#{id}
</update>
<select id="findUserList" parameterType="java.lang.String"
resultType="cn.itcast.mybatis.po.User"
>
SELECT * FROM USER WHERE username like '${value}%' //模糊查询加$
</select>
</mapper>
总的配置文件:
<?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=""></properties> -->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="mysql" />
</dataSource>
</environment>
</environments> //数据库连接池
<!-- 配置要加载的mapper.xml -->
<mappers>
<mapper resource="sqlmap/UserMapper.xml"/>
<mapper resource="sqlmap/mapper/UserMapper.xml"/> //将XXXmapper.xml加载进来
</mappers>
</configuration>
-----------------------------------------------------------------------------------------------------------
<package name="cn.itcast.mybatis.dao.mapper"/> //扫描<package name="cn.itcast.mybatis.dao.mapper"/>
的所有类。用于别名,别名为类的首字母小写。