mybatis逆向工程
技术总结:
一、什么是逆向工程
mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程 可以针对单表自动生成mybatis执行所需要的代码(mapper.java,mapper.xml、po..)
实际开发中,常用的逆向工程方式:由数据库的表生成java代码。
回到顶部
二、下载逆向工程
去官网下载逆向工程,截至今天最新版本是1.3.3. 官方逆向工程文档
我所用的是1.3.2版本的,下载地址: mybatis_generator所用jar包.zip
mybatis学习资料(中英文文档,参数常见配置等).rar
回到顶部
三、使用方法
1.生成代码配置文件
generatorConfig.xml的配置
复制代码
1
2
5
6
7
8
9
10
11
12
13 <jdbcConnection driverClass="com.mysql.jdbc.Driver"
14 connectionURL="jdbc:mysql://localhost:3306/mybatis" userId="root"
15 password="root">
16
17
18
20
21
22
23
24
25 <javaModelGenerator targetPackage="com.mybatis.entity"
26 targetProject=".\src">
27
28
29
30
31
32
33 <sqlMapGenerator targetPackage="com.mybatis.mapper"
34 targetProject=".\src">
35
36
37
38
39 <javaClientGenerator type="XMLMAPPER"
40 targetPackage="com.mybatis.mapper" targetProject=".\src">
41
42
43
44
45
46
47
48
49
50
复制代码
2.执行生成程序
GeneratorSqlmap.java的代码:
复制代码
1 import java.io.File;
2 import java.util.ArrayList;
3 import java.util.List;
4
5 import org.mybatis.generator.api.MyBatisGenerator;
6 import org.mybatis.generator.config.Configuration;
7 import org.mybatis.generator.config.xml.ConfigurationParser;
8 import org.mybatis.generator.internal.DefaultShellCallback;
9
10 public class GeneratorSqlmap {
11
12 public void generator() throws Exception{
13
14 List
15 boolean overwrite = true;
16 //指定 逆向工程配置文件
17 File configFile = new File("generatorConfig.xml");
18 ConfigurationParser cp = new ConfigurationParser(warnings);
19 Configuration config = cp.parseConfiguration(configFile);
20 DefaultShellCallback callback = new DefaultShellCallback(overwrite);
21 MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,
22 callback, warnings);
23 myBatisGenerator.generate(null);
24
25 }
26 public static void main(String[] args) throws Exception {
27 try {
28 GeneratorSqlmap generatorSqlmap = new GeneratorSqlmap();
29 generatorSqlmap.generator();
30 } catch (Exception e) {
31 e.printStackTrace();
32 }
33
34 }
35
36 }
复制代码
上面这段代码在官方文档中的代码,里面支持好多语言的,大家可以去官方看看。下面这张图是从官方截取的
配置好后,直接运行代码就会在配置的对应目录生成对应的实体和mapper以及mapper.xml文件。(类似hibernate的实体映射),当然除了这种方法生成,还可以下载mybatis_generator插件生成。
执行完毕后,刷新项目,就可以看到生成的对应文件。
3.逆向工程注意事项
mapper.xml文件已存在时,如果进行重新生成则mapper.xml文件内容不被覆盖而是进行内容增加,结果会导致mybatis解析失败。
解决办法:删除原来的已经生成的mapper.xml文件重新生成。
mybais自动生成的实体entity以及mapper.java文件不是内容追加而是直接覆盖没有问题。
心得:
一、第一层为苦学
提起就讲"头悬梁、锥刺股","刻苦、刻苦、再刻苦"。处于这种层次的同学,觉得学习枯燥无味,对他们来说学习是一种被迫行为,体会不到学习中的乐趣。长期下去,对学习必然产生了一种恐惧感,从而滋生了厌学的情绪,结果,在他们那里学习变成了一种苦差事。
二、第二层为好学
所谓"知之者不如好之者",达到这种境界的同学,对学习会起到重大的推动作用。对学习如饥似渴,常常达到废寝忘食的地步。他们的学习不需要别人的逼迫,自觉的态度常使他们能取得好的成绩,而好的成绩又使他们对学习产生更浓的兴趣,形成学习中的良性循环。
三、第三层为会学
学习本身也是一门学问,有科学的、需要遵循的规律。按照正确的学习,就学的轻松,学习也变的灵活流畅,能够很好地驾御学习,真正成为学习的主人。