好久没碰web,现在重新写个小项目,把用到的点都罗列出来。 1、与数据库对应的bean,要有一个默认的构造方法。 2、动态sql:基于OGNL表达式,就像jsp页面显示元素参数一样,可在参数为多个、有无传值做出不同的反应。 例如:if、
where、trim、foreach等 3、代码生成工具(网上有很多文章,但基本都是复制的,复制也就算了,TM的连字母都复制错,测试半天都不行......): 本次使用 mybatis-generator-core-1.3.2.jar和mysql-connector-java-5.1.36.jar,如图:
文章图片
然后在cmd中,直接运行即可:
->java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite
文章图片
附(配置文件):
4、常见的配置: 例如User的配置如下:
AND name = #{name, jdbcType=VARCHAR} select * from user insert into user (userId, name, qq, phone) values (#{userId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{qq,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}) insert into user userId, name, qq, phone, #{userId,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, #{qq,jdbcType=VARCHAR}, #{phone,jdbcType=VARCHAR}, update user where userId=#{userId} name=#{name}, qq=#{qq}, phone=#{phone}, delete from user where userId=#{userId}
【mybatis|MyBites】
附(配置中所用到的类型对照):
JDBC TypeJava Type CHARString VARCHARString LONGVARCHARString NUMERICjava.math.BigDecimal DECIMALjava.math.BigDecimal BITboolean BOOLEANboolean TINYINTbyte SMALLINTshort INTEGERint BIGINTlong REALfloat FLOATdouble DOUBLEdouble BINARYbyte[] VARBINARYbyte[] LONGVARBINARYbyte[] DATEjava.sql.Date TIMEjava.sql.Time TIMESTAMPjava.sql.Timestamp CLOBClob BLOBBlob ARRAYArray DISTINCTmapping of underlying type STRUCTStruct REFRef DATALINKjava.net.URL
推荐阅读
- 框架|Mybatis的一级缓存和二级缓存
- Mybatis日志工厂
- MyBatis的功能架构是怎样的
- Mybatis入门之CRUD
- mybatis之缓存机制
- Mybatis练习(1)
- Java|MyBatis(五)——MyBatis中的缓存机制
- mybatis之脚本解析器
- mybatis|记mybatis查询null字段导致的NPE
- Mybatis 动态查询、插入、修改操作