MyBatisGenerator代码生成Word格式.docx
- 文档编号:16488693
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:52
- 大小:41.11KB
MyBatisGenerator代码生成Word格式.docx
《MyBatisGenerator代码生成Word格式.docx》由会员分享,可在线阅读,更多相关《MyBatisGenerator代码生成Word格式.docx(52页珍藏版)》请在冰豆网上搜索。
Fang'
Benny'
1990-08-27'
5.insert
Bowser'
Diane'
1979-08-31'
1995-07-29'
);
6.insert
Chirpy'
bird'
1998-09-11'
7.insert
Whistler'
null,
1997-12-09'
8.insert
Slim'
snake'
1996-04-29'
注:
这里的sql例子来自
3.在Mybatis主页上下载Mybatismybatis-generator-core[本文使用的是1.3.0版本]。
当然运行mybatis-generator生成的代码还需要下载mybatis的jar包[本例使用的是3.0.2版本],和相关数据库的jdbc[本文中使用的是MySql的jdbc]。
二、运行mybatis-generator
1.要运行generator,需要给generator提供一个配置文件,指定其生成的数据库的相关信息。
以下是一个示例:
Xml代码
1.<
?
xml
version="
1.0"
encoding="
UTF-8"
>
2.<
!
DOCTYPE
generatorConfiguration
3.
PUBLIC
"
-//mybatis.org//DTD
MyBatis
Generator
Configuration
1.0//EN"
4.
http:
//mybatis.org/dtd/mybatis-generator-config_1_0.dtd"
5.
6.<
generatorConfiguration>
7.
<
classPathEntry
location="
mysql-connector-java-5.1.6-bin.jar"
/>
8.
9.
context
id="
DB2Tables"
targetRuntime="
MyBatis3"
10.
11.
commentGenerator>
12.
property
name="
suppressDate"
value="
true"
13.
/commentGenerator>
14.
15.
jdbcConnection
driverClass="
com.mysql.jdbc.Driver"
16.
connectionURL="
jdbc:
mysql:
//localhost/test"
userId="
qgd"
password="
123456"
17.
/jdbcConnection>
18.
19.
javaTypeResolver>
20.
forceBigDecimals"
false"
21.
/javaTypeResolver>
22.
23.
javaModelGenerator
targetPackage="
test.model"
24.
targetProject="
../src/main/java"
25.
enableSubPackages"
26.
trimStrings"
27.
/javaModelGenerator>
28.
29.
sqlMapGenerator
test.dao"
30.
31.
32.
/sqlMapGenerator>
33.
34.
javaClientGenerator
type="
XMLMAPPER"
35.
36.
37.
/javaClientGenerator>
38.
39.
table
tableName="
pet"
domainObjectName="
Pet"
40.
/table>
41.
42.
/context>
43.<
/generatorConfiguration>
这个配置文件提供了mybatis-generator所需要的参数信息:
*其中classPathEntry是引用的jdbc的类路径,这里将jdbcjar和generator的jar包放在一起了;
*commentGenerator是用来除去时间信息的,这在配合类似subversion的代码管理工具时使用很有效,因为可以减少没有必要的注释迁入;
*jdbcConnection是指定的jdbc的连接信息;
*javaTypeResolver式类型转换的信息,这里并没有用到;
*javaModelGenerator是模型的生成信息,这里将指定这些Javamodel类的生成路径;
*sqlMapGenerator是mybatis的sqlMapperXML文件的生成信息,包括生成路径等;
*javaClientGenerator是应用接口的生成信息;
*table是用户指定的被生成相关信息的表,它必须在指定的jdbc连接中已经被建立。
2.mybatis-generator有多种运行方式,最简单的就是命令行的方式,只需要指定相应的配置文件的路径即可:
Java代码
1.java
-jar
mybatis-generator-core-1.3.0.jar
-configfile
../src/main/resource/config.xml
-overwrite
运行后生成的代码包括模型类test.model.Pet和test.model.PetExample,test.dao.PetMapper接口以及其相对应的xml映射文件,在这里就不在赘述了。
三、使用mybatis-generator生成的代码
1.现在我们要利用这些生成的代码,首先我们需要一个关于所有映射的配置文件。
需要我们手写如下:
【不知道为什么generator没有选择自动生成这个文件,毕竟这些信息generator都可以得到】
configuration
Config
3.0//EN"
//mybatis.org/dtd/mybatis-3-config.dtd"
5.<
configuration>
6.
environments
default="
development"
environment
transactionManager
JDBC"
dataSource
POOLED"
driver"
url"
username"
password"
/dataSource>
/environment>
/environments>
mappers>
mapper
resource="
test/dao/PetMapper.xml"
/mappers>
20.<
/configuration>
2.另外还要使用然后我们还需要一个Main示例方法来调用这些已生成的代码:
1.package
test;
2.
3.import
java.io.Reader;
4.import
java.util.List;
6.import
org.apache.ibatis.io.Resources;
7.import
org.apache.ibatis.session.SqlSession;
8.import
org.apache.ibatis.session.SqlSessionFactory;
9.import
org.apache.ibatis.session.SqlSessionFactoryBuilder;
11.import
test.dao.PetMapper;
12.import
test.model.Pet;
13.import
test.model.PetExample;
15.public
class
Test
{
public
static
void
main(String[]
args)
throws
Exception
String
resource
=
MapperConfig.xml"
;
Reader
reader
Resources.getResourceAsReader(resource);
SqlSessionFactory
sqlMapper
new
SqlSessionFactoryBuilder().build(reader);
SqlSession
sqlSession
sqlMapper.openSession();
PetExample
PetExample();
pet.or().andDeathIsNotNull();
try
PetMapper
sqlSession.getMapper(PetMapper.class);
List<
Pet>
allRecords
mapper.selectByExample(pet);
for
(Pet
s
:
allRecords)
System.out.println(s);
}
finally
sqlSession.close();
34.}
这样就可以打印出相应的查询结果信息了。
四、小结
该示例的完整的Eclipse工程见附件mybatis-generator-usage.zip,其中已经包含了示例需要使用的jar包。
本文中只是用到了mybatis-generator的一部分功能,mybatis-generator生成代码的方式还包括ant或Maven脚本,或者直接使用javaAPI生成;
另外通过修改配置文件,generator还可以指定表的生成细节,并可以添加插件。
其功能文档在generator的分发包的doc文件夹下有更详细的介绍。
这里使用的表示没有主键的表,针对有一个主键或多个主键的表,mybatis-generator的生成的内容也有所不同,感兴趣的读者可以自行试验一下。
∙mybatis-generator-usage.zip(1.6MB)
一、MyBatis简介与配置MyBatis+Spring+MySql
1.1MyBatis简介
MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。
MyBatis摒除了大部分的JDBC代码、手工设置参数和结果集重获。
MyBatis只使用简单的XML和注解来配置和映射基本数据类型、Map接口和POJO到数据库记录。
相对Hibernate和ApacheOJB等“一站式”ORM解决方案而言,Mybatis是一种“半自动化”的ORM实现。
需要使用的Jar包:
mybatis-3.0.2.jar(mybatis核心包)。
mybatis-spring-1.0.0.jar(与Spring结合包)。
下载地址:
//ibatis.apache.org/tools/ibator
1.2MyBatis+Spring+MySql简单配置
1.2.1搭建Spring环境
1,建立maven的web项目;
2,加入Spring框架、配置文件;
3,在pom.xml中加入所需要的jar包(spring框架的、mybatis、mybatis-spring、junit等);
4,更改web.xml和spring的配置文件;
5,添加一个jsp页面和对应的Controller;
6,测试。
可参照:
1.2.2建立MySql数据库
建立一个学生选课管理数据库。
表:
学生表、班级表、教师表、课程表、学生选课表。
逻辑关系:
每个学生有一个班级;
每个班级对应一个班主任教师;
每个教师只能当一个班的班主任;
使用下面的sql进行建数据库,先建立学生表,插入数据(2条以上)。
更多sql请下载项目源文件,在resource/sql中。
1./*
建立数据库
*/
2.CREATE
DATABASE
STUDENT_MANAGER;
3.USE
5./*****
建立student表
*****/
6.CREATE
STUDENT_TBL
7.(
STUDENT_ID
VARCHAR(255)
PRIMARY
KEY,
STUDENT_NAME
VARCHAR(10)
NOT
NULL,
STUDENT_SEX
VARCHAR(10),
STUDENT_BIRTHDAY
CLASS_ID
13.);
15./*插入学生数据*/
16.INSERT
INTO
(STUDENT_ID,
STUDENT_NAME,
STUDENT_SEX,
STUDENT_BIRTHDAY,
CLASS_ID)
VALUES
(123456,
某某某'
女'
1980-08-01'
121546
)
创建连接MySql使用的配置文件mysql.properties。
Mysql.properties代码
1.jdbc.driverClassName=com.mysql.jdbc.Driver
2.jdbc.url=jdbc:
//localhost:
3306/student_manager?
user=root&
password=limingnihao&
useUnicode=true&
characterEncoding=UTF-8
1.2.3搭建MyBatis环境
顺序随便,现在的顺序是因为可以尽量的少的修改写好的文件。
1.2.3.1创建实体类:
StudentEntity
1.public
StudentEntity
implements
Serializable
private
final
long
serialVersionUID
3096154202413606831L;
ClassEntity
classEntity;
Date
studentBirthday;
studentID;
studentName;
studentSex;
getClassEntity()
return
getStudentBirthday()
getStudentID()
getStudentName()
getStudentSex()
setClassEntity(ClassEntity
classEntity)
this.classEntity
setStudentBirthday(Date
studentBirthday)
this.studentBirthday
setStudentID(String
studentID)
this.studentID
setStudentName(String
studentName)
43.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MyBatisGenerator 代码 生成