上一篇的博客是对单表的操作(表的字段与实体类的属性相同)这篇博客我想写下 表的字段和实体类的属性不相同的操作。
首先是表的字段:
其次是实体类的属性
想要对表的字段和实体类的属性不相同进行数据的增删改查操作
首先要做的便是要将表的字段和实体类的属性关联起来,通俗来讲就是能通过实体类的属性找到表的字段
而 这个标签便可以解决这个问题。
<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();
}
}