spring mybatis mysql 怎么动态创建表

spring mybatis mysql 怎么动态创建表,第1张

public ApplicationContext ac = new ClassPathXmlApplicationContext(new String[] {"mybatis-spring.xml","spring.xml"})StudentService studentService =(StudentService)ac.getBean("studentService")

1.想要重用sql, 要先定义通用的sql,在之后的sql语句中调用通用的sql的ID就行

调用时注意各标签 

测试

2.多标签查询:

表结构

2.1      一对一

bean:

接口

配置文件:

如果查询语句中,列起别名的话,column要对应起别名之后的名字

测试:

单表 *** 作 的时候,除了用配置文件来完成sql,还有另一种方法,是在用spring的 注解 以后,可以用 注解 来完成。

不用在mapper下写映射文件,直接在接口的方法上写sql

拿elm的spring boot来举例

2.2    一对多 

bean:

接口:

配置:

测试:

结果为四条,在结果里

2.3    多对多

bean:

用户通过订单,订单通过明细,明细通过商品,来找到用户对应商品的关系

接口:

配置:

1.JavaType和ofType属性

JavaType和ofType都是用来指定对象类型的,但是 JavaType 是用来指定pojo中 属性的类型 ,而 ofType 指定的是映射到 list集合属性中pojo的类型 。

mybatis

一对多用collection

多对一用assocation

默认情况下, #{}语法会促使MyBatis生成PreparedStatement属性并且使用PreparedStatement的参数(=?)来设置值。如果你想直接将未更改的字符串代入到sql中,可以使用${}。

也就是说,MyBatis看到 #{}会认为你在给sql中的变量赋值,就像JDBC编程中给问号赋值一样(比如MyBatis会判断它的类型,并自动在前后加单引号)。而当MyBatis看到${}的时候会直接将之替换成变量的值而不做任何处理。

所以在使用${}的时候,不需要像#{}一样写"jdbcType=VARCHAR"之类的属性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11441048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存