MyBatis
Posted xiaoyu1991
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MyBatis相关的知识,希望对你有一定的参考价值。
一、MyBatis和Hibernate区别
MyBatis以sql语句得到对象
Hibernate以对象得到sql语句
二、使用MyBatis
1、添加依赖
2、添加mybatis配置文件
<?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.jdbc.Driver" />
<property name="url" value="jdbc:mysql://ip:3306/test" />
<property name="username" value="username" />
<property name="password" value="password" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mybatis/UserMapper.xml"/>
</mappers>
</configuration>
3、创建映射实体类,mapper接口
4、添加mapper映射文件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="mybatis_test.mapper.UserMapper"> <!-- 对应mapper接口 -->
<select id="getUser" parameterType="int" resultType="mybatis_test.entity.User"> <!-- 对应mapper接口中方法 -->
SELECT *
FROM users where id =#id
</select>
</mapper>
5、测试
public class MyBatisTest
public static void main(String[] args) throws IOException
String resource = "mybatis.xml";
//读取配置文件
Reader reader = Resources.getResourceAsReader(resource);
//获取会话工厂
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(reader);
SqlSession openSession = build.openSession();
//查询语句
String sql = "mybatis_test.mapper.UserMapper.getUser";
//调用API查询
User user = openSession.selectOne(sql, 2);
System.out.println(user);
openSession.close();
三、sql注入问题
1、解决方法:预编译
2、#和$的区别:
#可以防止sql注入
$使用sql拼接方式
四、自动生成
使用Generator自动生成Dao接口,mapper映射文件,Entity类
以上是关于MyBatis的主要内容,如果未能解决你的问题,请参考以下文章