Mybatis 常见问题
resultMap与resultType
两者都是用来实现数据库与java代码的映射。
resultMap必须写指明映射关系,且要select等语句要用其id
reslutType无需指明关系,映射方式是看语句的列名与java代码列名相同,且忽略大小写,内容是java的文件名
parameterMap与parameterType
两者都是指定参数内容
parameterMap已经废弃
parameterType是指明参数类型,如果是string和java常用类型,直接写名字即可,比如int,double,string,如果是自定义和其他类型,需要写出报名,比如com.imooc.bean.Message,java.util.List
|
|
#{}与${}
两者都是传入参数的#{}是带有预编译过程的,而${}没有,传进来什么就是什么
编译后变为
可以看出#{}可以有预编译,防止sql注入等,而${}原样带入
但是在order by语句中经常使用${}
获取自增主键的值
当主键自增,添加数据需要获取主键的值时可使用时useGeneratedKeys="true"表示逐渐自增和keyColumn="id"表示获取id的值
中文乱码
- 数据库文件
Mybatis的configuration.xml文件
1<property name="url" value="jdbc:mysql://127.0.0.1:3306/wechat?useUnicode=yes&characterEncoding=UTF-8"/>jsp文件
1<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>servlet文件
|
|
- Myeclipse文件编码