发表于: 2017-07-26 22:54:18

1 1059


今日完成的事情:

今天主要的是讲了小课堂,讲的关于myabtis gergentor 的。完善了一下对的MNG的知识。和小小的测试的了一下。对于昨天的时候出现了个小问题。在用测试的方法的时候,我没有使用过单独用myabtis的全局配置文件来测试,而是和spring整合的测试的,我再用mybatisi单独测试的时候发现不能run,在过后不久,他自己能run了。很神奇

import com.jnshu.dao.UserMapper;
import com.jnshu.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test;

import java.io.InputStream;

import static com.sun.xml.internal.ws.dump.LoggingDumpTube.Position.Before;

public class CRUD {

private SqlSessionFactory sqlSessionFactory;

@Before
   public void setUp() throws Exception {
// 创建sqlSessionFactory
       String resource = "mybatis-config.xml"; // mybatis配置文件

       // 得到配置文件的流
       InputStream inputStream = Resources.getResourceAsStream(resource);

// 创建会话工厂SqlSessionFactory,传入mybaits的配置文件
       sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);


}
@Test
   public void SelectByPrimaryKey(){
UserMapper userMapper = sqlSessionFactory.openSession().getMapper( UserMapper.class );

User user = userMapper.selectByPrimaryKey( 11L );
System.out.println(user );

}




}






<?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://localhost:3306/db1?characterEncoding=utf-8&amp;useSSL=false" />
<property name="username" value="root" />
<property name="password" value="123456789" />
</dataSource>
</environment>
</environments>

<!-- mapping 文件路径配置 -->
   <mappers>
<mapper resource="./mapper/UserMapper.xml" />
</mappers>
</configuration>

还在网上看到了界面图形的代码生成器,但是这个东西不是我的重点。这里自己记录一下就好了

    • mybatis-generator-gui是什么

      • 介绍mybatis-generator-gui之前,有必要介绍一下什么是mybatis generator(熟悉的同学可以跳过这一节).我们都知道,通常编写Mybatis应用程序,需要写sqlmap、实体类、Dao接口和Dao实现类,需要对于一个成百上千的数据库表来说,完全手工配置,这是一个很恐怖的工作量,并且这个工作很重复还容易出错. 所以Mybatis 官方也推出了一个 Mybatis 代码生成工具的 jar 包,就是本文说所的mybatis-generator,详细可以参考MyBatis Generator,其主要提供如下功能:

        1. 生成 pojo 与 数据库表结构对应
        2. 动态 select,update,delete,insert,count方法
        3. 自动生成接口(也就是以前的 dao 层)
        4. 自动生成 sql mapper,增删改查各种语句配置,包括动态 where 语句配置
      • mybatis-generator-gui是基于mybatis generator开发的一款界面工具, 该工具可以使你非常容易及快速生成Mybatis的Java POJO文件及数据库Mapping文件。官方提供的xml配置非常灵活,对于熟悉的同学可能更加喜欢,这个工具对于新手来说可以更加容易上手。

        核心特性

        • 按照界面步骤轻松生成代码,省去XML繁琐的学习与配置过程
        • 保存数据库连接与Generator配置,每次代码生成轻松搞定
        • 内置常用插件,比如offset分页
        • 可选的去除掉对版本管理不友好的注释,这样新增或删除字段重新生成的文件比较过来清楚
        • 目前已经支持Mysql、Oracle与PostgreSQL
        • 启动截图如下:  
    • mybatis-generator-gui怎么使用

    • 安装和使用方法官方文档上已经写得很详细:

 

       很重要的一点说明,添加如下配置可以自动扫描mapper接口,就不需要一个个单独定义mapper的bean对象了:

      <bean id="xxxMapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">

           <property name="basePackage" value="compeichenchen.test.mapper;" />  

           <property name="sqlSessionFactoryBeanName" value="testSqlSessionFactory" />

      </bean>  

      注意:这种方式会导致spring的placeholder加载配置失效。

明天的计划:想办法把任务做完。


遇到的问题:用mybaits 得到sqlSsessionfactory测试的一开始无法测试,后来就可以了。很奇怪,说我无法得到结果集


收获:mybaitsgengertor更深一步学习


返回列表 返回列表
评论

    分享到