如何在eclipse 安裝 MyBatis Generator 並使用
阿新 • • 發佈:2019-02-09
一. 下載工具
1.先下載 MyBatis Generator 地址 :http://download.csdn.net/download/sinat_27710009/10115546
2.將下載的外掛解壓到 eclipse 路徑下
3.驗證外掛是否安裝成功
二. 在Eclipse中建立java專案
1. 建立java專案 src目錄下,新建generatorConfig.xml檔案,檔案內容
對應路徑根據自己 的實際情況填寫即可<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" > <generatorConfiguration> <classPathEntry location="C:\Users\Administrator\.m2\repository\mysql\mysql-connector-java\5.1.6\mysql-connector-java-5.1.6.jar"/> <context id="context1"> <commentGenerator> <property name="suppressDate" value="true"/> <!-- 是否去除自動生成的註釋 true:是 : false:否 --> <property name="suppressAllComments" value="true"/> </commentGenerator> <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/subscriber" userId="root" password="123456" /> <javaModelGenerator targetPackage="com.sharelin.spring.entity" targetProject="springmvc Maven Webapp/src/main/java" /> <sqlMapGenerator targetPackage="com.sharelin.spring.mapper" targetProject="springmvc Maven Webapp/src/main/java" /> <javaClientGenerator targetPackage="com.sharelin.spring.mapper" targetProject="springmvc Maven Webapp/src/main/java" type="XMLMAPPER" /> <table tableName="sub_customer"> <!-- <columnOverride column="???" property="???" /> --> </table> </context> </generatorConfiguration>
2.maven新增 mysql 連線jar包 引用到 上面的 XML路徑,也可以其他方式下載了 填寫路徑
3. 右鍵generatorConfig.xml檔案,點選在選單中點選Generator MyBatis/iBatis Artifacts(若右鍵選單中沒有此選單,說明第一步驟中外掛沒有安裝成功),自動生成4個檔案。<!-- 匯入Mysql資料庫連結jar包 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency>
寫法1:
查詢條件1:a=? and (b=? or c=?) 不支援
查詢條件2:(a=? And b=?) or (a=? And c=?) 支援
DemoExample example=new DemoExample(); DemoExample.Criteria criteria1=example.createCriteria(); criteria1.andAEqualTo(?).andBEqualTo(?); DemoExample.Criteria criteria2=example.createCriteria(); criteria2.andAEqualTo(?).andCEqualTo(?); example.or(criteria2); SqlSession sqlSession = MyBatisUtil.openSession(); DemoMapper m = sqlSession.getMapper(DemoMapper.class); m.countByExample(example); //生成的sql語句 select count(*) from demo WHERE ( a = ? and b = ? ) or ( a = ? and c = ? )
寫法2:
DemoExample example=new DemoExample();
example.or().andAEqualTo(?).andBEqualTo(?);
example.or().andAEqualTo(?).andCEqualTo(?);
SqlSession sqlSession = MyBatisUtil.openSession();
DemoMapper m = sqlSession.getMapper(DemoMapper.class);
m.countByExample(example);
//生成的sql語句
select count(*) from demo WHERE ( a = ? and b = ? ) or ( a = ? and c = ? )
查詢條件3:(a=? and (b=? or c=?)) 支援
假設兩個搜尋項,A項搜尋,可搜尋b,c(bc或關係),B項搜尋可搜尋a,B項搜尋與A項搜尋是與關係。
修改DemoExample.java檔案,新增方法
public Criteria andOrDemo(String value){
addCriterion("(b = \""+value+"\" or c = \""+value+"\")");
return (Criteria) this;
}
DemoExample example=new DemoExample();
Criteria criteria = example.createCriteria();
criteria.andAEqualTo(?).andOrDemo(?);
SqlSession sqlSession = MyBatisUtil.openSession();
DemoMapper m = sqlSession.getMapper(DemoMapper.class);
m.countByExample(example);
//生成的sql語句
select count(*) from demo WHERE ( a = ? and ( b = ? or c = ? ))