MyBatis的方法一
//创建SqlsessionFactoryBuilder对象
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//创建核心配置文件的输入流
InputStream inputStream = Resources.getResourceAsStream(“SqlMapconfig.xml”);
//通过输入流,创建SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = ssfb.build(inputStream);
//创建SqlSession对象
SqlSession sqlSession = sqlSessionFactory.openSession();
//执行查询
User user =sqlSession.selectOne(“user.getUserById”,1);
System.out.print(user);
//释放资源
sqlSession.close();
方法一:通过selectOne的方法,配置POJO User类,配置user.xml,然后实现SQL语句。
这里可以封装Utils工具
SqlSessionFactoryBuilder ssfb = new SqlSessionFactoryBuilder();
//创建核心配置文件的输入流
InputStream inputStream = Resources.getResourceAsStream(“SqlMapconfig.xml”);
//通过输入流,创建SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = ssfb.build(inputStream);
返回sqlSession。
xml配置:
#{}:占位符,相当于jdbc的?
${}:字符串拼接指令,如果入参为普通数据类型{}内部只能写value
<mapper namespace="user">
<!-- `在这里插入代码片`id:sql id,语句的唯一标识 跟name一样的作用,唯一区别name理论上可重复。但是实际业务上不可 -->
<select id="getUserById" parameterType="int" resultType="com.itheima.mybatis.pojo.User">
SELECT
`id`,
`username`,
`birthday`,
`sex`,
`address`
FROM `user`
WHERE id = #{id}
</select>
<!-- resultType:如果返回结果为集合,只需设置为每一个的数据类型 -->
<select id= "getUserByName" parameterType="string" resultType="com.itheima.mybatis.pojo.User">
SELECT
`id`,
`username`,
`birthday`,
`sex`,
`address`
FROM
`heima`.`user`
<!--WHERE `username` LIKE #{name} -->
WHERE `username` LIKE '%${value}%'
</select>
<insert id="insertUser" parameterType="com.itheima.mybatis.pojo.User">
INSERT INTO USER
(`username`,
`birthday`,
`sex`,
`address`)
VALUS
(#{username},
#{birthday},
#{sex},
#{address});
</insert>
</mapper>