MyBatis_MyBatis映射文件之实现基本的CURD

1.引入

   我们呢,在之前的课程中和大家说了一下有关于Mybatis配置文件的一些配置内容信息。那么节下来呢我们呢主要和大家说一下MyBatis的映射文件。那么这一个MyBatis的映射文件有一个比较重要的地位。映射文件指导着MyBatis如何进行数据库增删改查, 有着非常重要的意义;所有的SQL语句都是在这一个映射文件中进行的。那么这一个模块是一个比较重要的模块,需要较为认真的学习。

 

2.映射文件增删查改实现

(1).在接口中定义实现该对象增删查改的方法:

public interface AdminMapper {
			
	public Employee getAdmById(Integer id);

	public Long addAdm(Employee employee);

	public boolean updateAdm(Employee employee);

	public void deleteAdmById(Integer id);
	
}

(2).在映射文件中编写相关的配置信息

<!--查询操作-->
<select id="getAdmById" resultType="com.cn.entity.Admin"
		databaseId="mysql">
		select username,password 
		from adminwhere id=#{id}
</select>

<!--添加操作-->
<insert id="addAdm" parameterType="com.cn.entity.Admin">
		insert into admin(username,password) 
		values(#{username},#{password})
</insert>

<!--更新操作-->
<update id="updateAdm">
		update admin 
		set username=#{username},password=#{password}
		where id=#{id}
</update>
	
<!--删除操作-->
<delete id="deleteEmpById">
		delete from admin where id=#{id}
</delete>
	

(3).编写相关的测试方法

/**
  * 测试增删改
  * 1、mybatis允许增删改直接定义以下类型返回值
  * 		Integer、Long、Boolean、void
  * 2、我们需要手动提交数据
  * 		sqlSessionFactory.openSession();===》手动提交
  * 		sqlSessionFactory.openSession(true);===》自动提交
  * @throws IOException 
  */

public void testCurd() throws IOException{
		
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		//1、获取到的SqlSession不会自动提交数据
		SqlSession openSession = sqlSessionFactory.openSession();
		
		try{
			AdminMapper mapper = openSession.getMapper(AdminMapper.class);
			//测试添加
			Admin adm = new Admin(1, "张三","123456");
			mapper.addAdm(adm);			
			
			//测试修改
			//Admin adm = new Admin(1, "张三","test123456");
			//boolean updateAdm = mapper.updateAdm(adm);
			//System.out.println(updateAdm);
			//测试删除
			//mapper.deleteAdmById(2);
			//2、手动提交数据
			openSession.commit();
		}finally{
			openSession.close();
		}
		
	}

3.获取insert数据的自动的主键值

<!-- parameterType:参数类型,可以省略, 
	 获取自增主键的值:
		mysql支持自增主键,自增主键值的获取,mybatis也是利用statement.getGenreatedKeys();
		useGeneratedKeys="true";使用自增主键获取主键值策略
		keyProperty;指定对应的主键属性,也就是mybatis获取到主键值以后,将这个值封装给javaBean的 
                     哪个属性
-->

	<insert id="addAdm" parameterType="com.cn.entity.Admin" useGeneratedKeys="true" 
     keyProperty="id" databaseId="mysql">

		insert into admin(username,password) 
		values(#{username},#{password})
	</insert>

获取测试:

//测试添加
Admin adm = new Admin(1, "李四","ls123456");
mapper.addAdm(adm);
//直接获取需要的id
System.out.println(adm.getId());

 

Guess you like

Origin blog.csdn.net/u013185175/article/details/107640798