A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小鲁哥哥 黑马粉丝团   /  2018-4-13 13:53  /  777 人查看  /  0 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小鲁哥哥 于 2018-4-13 13:56 编辑

                     
【济南校区】myBatis入门

myBatis的简介
MyBatis 本是apache的一个开源项目iBatis, MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。
myBatis的配置
classpath下创建SqlMapConfig.xml,如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTDConfig 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <!-- 和spring整合后 environments配置将废除-->
   <environments default="development">
      <environment id="development">
      <!-- 使用jdbc事务管理-->
         <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="root" />
         </dataSource>
      </environment>
   </environments>
<mappers>
       <mapper resource="sqlmap/User.xml"/>
</mappers>


</configuration>

SqlMapConfig.xml是mybatis核心配置文件,上边文件的配置内容为数据源、事务管理
user.xml中添加:
<!-- 根据id获取用户信息 -->
    <select id="findUserById" parameterType="int" resultType="cn.itcast.mybatis.po.User">
       select* from user where id = #{id}
    </select>

测试实现:
public class Mybatis_first {

    //会话工厂
    private SqlSessionFactory sqlSessionFactory;

    @Before
    public void createSqlSessionFactory() throws IOException {
       // 配置文件
       Stringresource = "SqlMapConfig.xml";
       InputStreaminputStream = Resources.getResourceAsStream(resource);

       // 使用SqlSessionFactoryBuilder从xml配置文件中创建SqlSessionFactory
       sqlSessionFactory = new SqlSessionFactoryBuilder()
              .build(inputStream);

    }

    // 根据 id查询用户信息
   @Test
   public void testFindUserById() {
      // 数据库会话实例
      SqlSessionsqlSession = null;
      try {
         // 创建数据库会话实例sqlSession
         sqlSession= sqlSessionFactory.openSession();
         // 查询单个记录,根据用户id查询用户信息
         Useruser = sqlSession.selectOne("test.findUserById", 10);
         // 输出用户信息
         System.out.println(user);
      } catch (Exception e) {
         e.printStackTrace();
      } finally {
         if (sqlSession != null) {
            sqlSession.close();
         }
      }

   }
}


如果你想了解更多黑马课程请点击这里,如果你想加入黑马这个大家庭学习先进技术,广交天下好友!
黑马程序员济南中心联系电话:0531-55696830

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马