码迷,mamicode.com
首页 > 其他好文 > 详细

MyBatis

时间:2019-08-31 17:15:22      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:rop   property   nat   依赖   static   sql   实体类   word   创建   

一、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

标签:rop   property   nat   依赖   static   sql   实体类   word   创建   

原文地址:https://www.cnblogs.com/xiaoyu1991/p/11439363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!