-
从集合中取出一条数据查看全部
-
Mybatis中的OGNL表达式查看全部
-
一、获取自增主键值: <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.imooc.bean.Command"> insert into command(name,description) values(#{name},#{description}) </insert> //解析:添加数据(在主外键的关系中)可以使用 useGeneratedKeys="true",可获取自增长的id,并配合keyProperty="id"(java中实体类的属性名)指定该对象的主键值。 二、找不到namespace.id的异常效果: 1、在Configuration.xml没有配置<mappers><mapper resource="*.xml"></mapper></mappers>; 2、在1的配置中或selectList("Message.queryMessageList",message);中,名字写错。 三、排查SQL语法错误:如果控制台出现SQL语句问题,复制到SQL软件上执行,若有参数,手动写上并执行。 四、不要过度使用${}。 五、乱码问题: 1. servlet传参时的编码:request.setCharacterEncoding("utf-8");或直接使用过滤器; 2. Java文件本身的编码; 3. 连接数据库的参数中,设定编码方式:jdbc:mysql://192.168.1.1:3306/cms?characterEncoding=utf-8 4. 数据库、表的编码; 5. 展示页面的编码:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6. 浏览器编码问题等。查看全部
-
一、resultMap和resultType:当配置resultType时,就不需要配置resultMap,看似resultType方便,但是会被受限制,没有resultMap开放多。 相同点:都是表示查询结果集的类型。 不同点: resultMap需要手动配置映射关系,而resultType是直接指定java类型或者自定义的实体类型,查询结果集的列名必须和实体属性名称一致(实体类:名称大小写可以忽略;java类型,如Map集合的key大小写要一致,尽量都大小写规范,如果不放心可以select ID id,...)。 优缺点: 1、resultType结果集列名要与java属性名一样,但是resultMap不受限制,因为resultMap有column来规定。 2、由于SQL类型与Java中类型部分不匹配,resultMap可以通过typeHandler=""来匹配(如:SQL中的0和1来表示java中的false和true;Date类型的转换),但是resultType无能为力。 二、parameterMap和patameterType: 表示传入参数的对应关系,前者不推荐使用,只是mybatis为了适应以前的版本。 提示:看到Map字眼的想到映射关系,看到Type字眼的想到类型。 三、#{}和${}: 相同点:都是用来作为占位符。 不同点:#{}在预编译的时候会呗替换为?,而${}在预编译的时候直接将变量的值替换进去,而且没有引号(所以还要加上“'${...}'”),故一般都是用前者,个别情况会使用后者:如需进行排序,且排序字段为参数时可以使用${}(order by后面不喜欢被预编译,所以使用${}更为恰当)。 四、#{}和ognl:在#{}中如果是基本类型,其中的名称可以随便写(不推荐),但一般都用_parameter,因为值唯一,而ognl中必须写成_parameter的方式。查看全部
-
f查看全部
-
mybatis常用的标签,其中select查询时不应该使用*号而是使用各列名,sql用来定义常量,多用于定义经常使用到的列名,然后通过include标签引用查看全部
-
配置多对一关系映射用在子表的xml的resultMap标签中使用association标签,用法和一对多一样查看全部
-
column指的是select查询后的列名而不是表的列名,如果select语句定义了别名,则column的值则应该写对应的别名,且忽略前缀,在这个多表查询中有两个ID则有一个需要定义别名mybatis才能识别查看全部
-
mybatis xml配置一对多的关系,在resultMap标签中添加collection标签,其中property属性是主类的那个子类的集合属性名,resultMap属性是子表的xml文件的映射,即子表的xml中的resultMap标签的id,当然也要加上该xml的namespace查看全部
-
log4j结合mybatis,设置日志输出级别。查看全部
-
foreach标签中的separator属性可以帮我们分割每一次循环的内容,如separator=“,”,那每一次循环的内容后面就会自动帮我们加上‘,’,且最后一项不添加查看全部
-
mybatis中的foreach标签的使用查看全部
-
log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n //%d产生日志的时间, %t是产生日志所处的线程名称, %-5p输出日志的级别,将占5位字符,不足5位用空格填补,-指的是在右边补齐, %c你输出日志的包以及类的全名, %m是你附加的信息 %n是换行 log4j.rootLogger=DEBUG,Console 输出的级别和输出的位置 log4j.logger.org.apache.ibatis=ERROR 特定包下的特定级别 log4j.appender.Console=org.apache.log4j.ConsoleAppender 配置控制台的类 log4j.appender.Console.layout=org.apache.log4j.PatternLayout //配置布局 log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n查看全部
-
蓝色这一块不是ognl表达式,而是mybatis自己处理的查看全部
-
没有把提示、中的ognl表达式的取值写法与操作符查看全部
举报
0/150
提交
取消