MyBatis表的字段与实体类的属性不相符

上一篇的博客是对单表的操作(表的字段与实体类的属性相同)这篇博客我想写下 表的字段和实体类的属性不相同的操作。

  首先是表的字段:

其次是实体类的属性

想要对表的字段和实体类的属性不相同进行数据的增删改查操作
首先要做的便是要将表的字段和实体类的属性关联起来,通俗来讲就是能通过实体类的属性找到表的字段

而 这个标签便可以解决这个问题。

<resultMap type="_Teacher" id="teacherOfResultMap">
	<id property="tId" column="t_id" />
	<result property="tName" column="t_name"  />
</resultMap>

上面这段代码主要是用在对表的信息的查询上。

下面就可以进行一些操作了:

接口:TeacherMapper

xml:TeacherMapper.xml

测试类:TeacherTest

1.插入(insert)

首先是sql编写

	<!-- 普通插入 -->
<insert id="insertOfTeacher" parameterType="_Teacher">
insert into teacher(t_id,t_name) values (#{tId}, #{tName})
</insert>
其次是接口编写

//插入
	public int insertOfTeacher();
最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession();
		   
		    // 插入
		   Teacher t = new Teacher();
		   t.settId(4);
		   t.settName("测试");
		  int result =  ss.insert("com.mapping.TeacherMapper.insertOfTeacher",t);
		   System.out.println(result);
		    
		   ss.commit();
		   ss.close();
	}
}

(2)、修改(update)

首先是sql编写

<update id="updateOfTeacher" parameterType="_Teacher">
update teacher set t_name= #{tName} where t_id = #{tId}
</update>
其次是接口编写

public int updateOfTeacher();

最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession(); 
		   // 更新(制定一条信息) 
		   Teacher t = new Teacher();
		   t.settName("更新测试");
		   t.settId(3);
		   ss.update("com.mapping.TeacherMapper.updateOfTeacher", t);   
		   ss.commit();
		   ss.close();
	}
}
(3)、删除(delete)

首先是sql编写

<delete id="deleteOfTeacher" parameterType="int">
delete from teacher where t_id = #{tId}
</delete>
其次是接口编写

public int deleteOfTeacher();

最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession();		   
		   // 删除一条信息 
		   int result = ss.delete("com.mapping.TeacherMapper.deleteOfTeacher", 4);
		   System.out.println(result);
		   ss.commit();
		   ss.close();
	}
}
(4)、查询(select)

显示表中所有数据

首先是sql编写

<!-- 表信息显示 -->
<select id="selectAllOfTeacher"  resultMap="teacherOfResultMap">
	select * from teacher
</select>
其次是接口编写

	//查询表所有信息
 public List selectAllOfTeacher();

最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession();		
		   //查询表所有信息 
		   List result =ss.selectList("com.mapping.TeacherMapper.selectAllOfTeacher");
		   System.out.println(result); 
		   ss.commit();
		   ss.close();
	}
}

按条件查询

首先是sql编写

<select id="selectManyOfTeacher" resultMap="teacherOfResultMap" parameterType="int">
select * from teacher where t_id = #{tId}
</select>

其次是接口编写

public  Teacher selectManyOfTeacher();

最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession();
		    //按条件查询
		   Teacher t = ss.selectOne("com.mapping.TeacherMapper.selectManyOfTeacher", 1);
		   System.out.println(t);
		   ss.commit();
		   ss.close();
	}
}

模糊查询

首先是sql编写

<select id="selectLikeOfTeacher" resultMap="teacherOfResultMap" parameterType="String">
select * from teacher where t_name Like #{tName} 
</select>	

其次是接口编写

public  List selectLikeOfTeacher(String str);
最后是测试类

public class TeacherTest {
	public static void main(String[] args) throws IOException {
			InputStream is =	 Resources.getResourceAsStream("conf.xml");
		   SqlSessionFactory  ssf = new SqlSessionFactoryBuilder().build(is);
		   SqlSession  ss =  ssf.openSession();
	    // 模糊查询
		   List result =   ss.selectList("com.mapping.TeacherMapper.selectLikeOfTeacher", "%测%");
		   System.out.println(result);
		   ss.commit();
		   ss.close();
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值