ibatis学习笔记-SQL主键生成方式

配置

<insert id="addStudentBySequence" parameterClass="Student">
		<selectKey resultClass="int" keyProperty="studentid">
			select @@IDENTITY as studentid
			<!-- select last_insert_id() as studentid -->
			<!-- select @@identity as inserted -->
			<!-- 这里需要说明一下不同的数据库主键的生成,对各自的数据库有不同的方式: -->
			<!-- mssql:SELECT LAST_INSERT_ID() AS VALUE -->
			<!-- mysql:select @@IDENTITY as value -->
			<!-- oracle:SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL -->
			<!-- 还有一点需要注意的是不同的数据库生产商生成主键的方式不一样,有些是预先生成 (pre-generate)主键的,如Oracle和PostgreSQL。 
				有些是事后生成(post-generate)主键的,如MySQL和SQL Server 所以如果是Oracle数据库,则需要将selectKey写在insert之前 -->
		</selectKey>
		insert into Student (studentid, sname, ssex, sphone, sclass, sdate)
		values 				(#studentid#,#sname#,#ssex#,#sphone#,#sclass#,#sdate#);
	</insert>


实现

	@Override
	public List<Student> queryStudtentByName(String name) {
		List<Student> studentList = null;
		try
		{  
			studentList = sqlMapClient.queryForList("selectStudentByName",name);
		} catch (SQLException e)
		{
			e.printStackTrace();
		}
		return studentList;
	}


测试

//6.模糊查询 测试List<User> queryUserByName(String name) 
		System.out.println("6.测试List<User> queryStudtentByName(String name)");
		for(Student user3:dao.queryStudtentByName("2"))
		{
		    System.out.println(user3);
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值