你是给主表中的ID赋值了,但是你知道是多少吗?
所以你需要把这个自增长的ID值赋值给对象的ID成员变量,这样才能在副表中插入内容的时候关联到主表ID
分开插入
这个id值应该是为了在子表中新加一条数据所必须的值,当利用KeyProperty="id"获得这个id值,在执行完sql的插入语句之后,这个id值被注入了Command类的id变量中。若不用KeyProperty,则相当于id值为null,我们不能去更新子表。
在java中利用Command.getId()就可以获得值了(因为已经将查到的结果封装为了一个实体Bean)
你把数据库的主键自增删除掉试试
在我的课程里面单击想要下载资料的相关课程,然后在课程首页中 右侧有一栏 “资料下载”。
从第二章节开始能看到,部分章节看不到,你切换下试下
ParameterType之前的曾用名叫ParameterClass哦~ 是一个类,类名需要大写。
搬运工:
多表连接查询按要查的结果而定
第一个,就是普通的连接查询,等同于
select C.字段一 , count(A.主键)
from Table A
inner join Table B on A.B的主键 = B.主键
inner join Table C on B.C的主键 = C.主键
group C.字段一
或
select C.字段一 , count(A.主键)
from Table A
join Table B on A.B的主键 = B.主键
join Table C on B.C的主键 = C.主键
group C.字段一
第二个采用了左连接
也就是以A为主表,要把条件中A的显示完全,即如果C.字段1对应的A主键为空,那么就显示0,可如果在第一中查询,如果为空,那就不显示了
正常来说,速度都差不多,因为执行方式基本一致
在数据库配置文件中,链接数据库的时候指定数据库以utf-8的编码格式去向数据库中存数据和以utf-8的格式从数据库取数据。
<property name="url" value="jdbc:mysql://127.0.0.1:3306/micro_message"/>
主键如果设置自动增长的话,只要有操作过该主键,不管有没有commit,次数都会一直增长
貌似是这样
是否在head标签里加下面两行代码了?
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> <meta charset="UTF-8"/>