java执行更新语句怎么写_mybatis的select、insert、update、delete语句

一、select

SELECT ST.STUDENT_ID,

ST.STUDENT_NAME,

ST.STUDENT_SEX,

ST.STUDENT_BIRTHDAY,

ST.CLASS_ID

FROM STUDENT_TBL ST

WHERE ST.STUDENT_ID = #{studentID}

这条语句就叫做‘getStudent,有一个String参数,并返回一个StudentEntity类型的对象。

注意参数的标识是:#{studentID}。

select 语句属性配置细节:

属性描述取值默认

id

在这个模式下唯一的标识符,可被其它语句引用

parameterType

传给此语句的参数的完整类名或别名

resultType

语句返回值类型的整类名或别名。注意,如果是集合,那么这里填写的是集合的项的整类名或别名,而不是集合本身的类名。(resultType 与resultMap 不能并用)

resultMap

引用的外部resultMap 名。结果集映射是MyBatis 中最强大的特性。许多复杂的映射都可以轻松解决。(resultType 与resultMap 不能并用)

flushCache

如果设为true,则会在每次语句调用的时候就会清空缓存。select 语句默认设为false

true/false

false

useCache

如果设为true,则语句的结果集将被缓存。select 语句默认设为false

true/false

false

timeout

设置驱动器在抛出异常前等待回应的最长时间,默认为不设值,由驱动器自己决定

正整数

未设置

fetchSize

设置一个值后,驱动器会在结果集数目达到此数值后,激发返回,默认为不设值,由驱动器自己决定

正整数

驱动器决定

statementType

statement,preparedstatement,callablestatement。预准备语句、可调用语句

STATEMENT、PREPARED、CALLABLE

PREPARED

resultSetType

forward_only、scroll_sensitive、scroll_insensitive 只转发,滚动敏感,不区分大小写的滚动

FORWARD_ONLY、SCROLL_SENSITIVE、SCROLL_INSENSITIVE

驱动器决定

二、insert

一个简单的insert语句:

INSERT INTO STUDENT_TBL (STUDENT_ID,

STUDENT_NAME,

STUDENT_SEX,

STUDENT_BIRTHDAY,

CLASS_ID)

VALUES (#{studentID},

#{studentName},

#{studentSex},

#{studentBirthday},

#{classEntity.classID})

insert可以使用数据库支持的自动生成主键策略,设置useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。比如说上面的StudentEntity 使用auto-generated 为id 列生成主键.

推荐使用这种用法。

另外,还可以使用selectKey元素。下面例子,使用MySQL数据库nextval(‘student’)为自定义函数,用来生成一个key。

select nextval(

你可能感兴趣的:(java执行更新语句怎么写)