发表于: 2017-07-26 22:54:18
1 1060
今日完成的事情:
今天主要的是讲了小课堂,讲的关于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&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,其主要提供如下功能:
- 生成 pojo 与 数据库表结构对应
- 动态 select,update,delete,insert,count方法
- 自动生成接口(也就是以前的 dao 层)
- 自动生成 sql mapper,增删改查各种语句配置,包括动态 where 语句配置
mybatis-generator-gui是基于mybatis generator开发的一款界面工具, 该工具可以使你非常容易及快速生成Mybatis的Java POJO文件及数据库Mapping文件。官方提供的xml配置非常灵活,对于熟悉的同学可能更加喜欢,这个工具对于新手来说可以更加容易上手。
核心特性
- 按照界面步骤轻松生成代码,省去XML繁琐的学习与配置过程
- 保存数据库连接与Generator配置,每次代码生成轻松搞定
- 内置常用插件,比如offset分页
- 可选的去除掉对版本管理不友好的注释,这样新增或删除字段重新生成的文件比较过来清楚
- 目前已经支持Mysql、Oracle与PostgreSQL
- 启动截图如下:
mybatis-generator-gui怎么使用
- 安装和使用方法官方文档上已经写得很详细:
- 安装方法可以参考官方 Github地址
- 使用方法:Usage-Guide
很重要的一点说明,添加如下配置可以自动扫描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更深一步学习
评论