博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybatis用注解方式来操作mysql数据库
阅读量:6420 次
发布时间:2019-06-23

本文共 3191 字,大约阅读时间需要 10 分钟。

(1)对数据库的增删改

1.1班级表信息接口类:

package edu.nf.mybatis3.dao;import edu.nf.mybatis3.entity.ClassInfo;import org.apache.ibatis.annotations.*;import java.util.List;/** * @Author lance * @Date 2018/9/18 0018 */public interface ClazzInfo {    /**     * 保存班级信息     * @Insert 标明要插入的sql语句     * 主键策略     * 方式一:使用@Option注解实现主键自增长     * 方式二:使用@SelectKey注解生成UUID或sequence主键     *         @SelectKey(keyProperty = "cid",resultType = "String.class",     *         before = true,     *          statement = "select uuid() from ducl")     * 方式三:自己维护主键生成,不需要任何注解     * */    @Insert("insert into class_info(c_name) values(#{claName})")    @Options(keyProperty = "cid" ,useGeneratedKeys = true)    void saveInfo(ClassInfo classInfo);    /**     * 删除班级信息     * 根据ID来指定删除     * */    @Delete("delete from class_info where c_id = #{cid}")    void deleteInfo(int sid);    /**     * 修改班级信息     *     * */    @Update("update class_info set c_name = #{claName} where c_id = #{cid}")    void updateInfo(ClassInfo classInfo);    /**     * 查询单个班级信息     *(根据ID来查询班级信息)     * */    @Select("select c_id as cid ,c_name as claName from class_info where c_id = #{cid}")    //@ResultType(ClassInfo.class)不强制要求,可写可不写,mybatis会根据反射自动得到返回的类型    ClassInfo getInfo(int sid);    /**     * 查询所有的班级信息     *     * */    @Select("select c_id as cid ,c_name as claName from class_info")    List
listClazzInfo();}

1.2学生表信息接口类(关联班级信息表)

package edu.nf.mybatis3.dao;import edu.nf.mybatis3.entity.StudentInfo;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.ResultMap;import org.apache.ibatis.annotations.Select;import java.util.List;/** * @Author lance * @Date 2018/9/18 0018 * 使用注解时在接口中标注 */public interface StuInfo  {    /**     *查询单个学生信息     * 方试一:多个参数时,用param1,param2.。。代替     * */    @Select("select s_id ,s_name,s_age,s_sex,s_origin,s_tel,c_id from stu_info  where s_name = #{param1} and s_sex = #{param2}")    @ResultMap("edu.nf.mybatis3.dao.StuInfo.StuMap")    StudentInfo findStudent(String name,String sex);    /**     *查询单个学生信息     * 方试二:多个参数时,用注解@Param映射     * */    @Select("select s_id ,s_name,s_age,s_sex,s_origin,s_tel,c_id from stu_info  where s_name = #{name} and s_sex = #{sex}")    @ResultMap("edu.nf.mybatis3.dao.StuInfo.StuMap")    StudentInfo findStudent2(@Param("name") String name,@Param("sex") String sex);    /**     *查询所有的学生信息     * */    @Select("select s_id ,s_name,s_age,s_sex,s_origin,s_tel,c_id from stu_info")    @ResultMap("edu.nf.mybatis3.dao.StuInfo.StuMap")    List
listStuInfo(); /** * 联表查询单个学员的信息和班级的信息 *(根据id来查询) * @ResultMap指定mapper下的resultMap的id名(完整包名加ID名) * */ @Select("select s_id ,s_name,s_age,s_sex,s_origin,s_tel,c.c_id,c_name from stu_info s left join class_info c on s.c_id = c.c_id where s_id =#{sid}") @ResultMap("edu.nf.mybatis3.dao.StuInfo.StuMap") StudentInfo getStuInfo(int sid);}

  说明:如果实体中关联了其他的实体类,为了方便映射,我们都会建一个mapper的xml配置来处理实体的映射关系,xml里面仅做实体关系的映射处理。

 

转载于:https://www.cnblogs.com/gepuginy/p/9674417.html

你可能感兴趣的文章
(转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
查看>>
推荐一个好的数据库工具Embarcadero DBArtisan
查看>>
cocos2d函数
查看>>
[iOS]iOS获取设备信息经常用法
查看>>
一般杀毒软件检测病毒原理
查看>>
反射方法获取事件的委托链上的函数
查看>>
(转)淘淘商城系列——使用Spring来管理Redis单机版和集群版
查看>>
【Cocos2d-x 017】 多分辨率适配全然解析
查看>>
kong k8s 安装 以及可视化管理界面
查看>>
对spring默认的单列模式的理解
查看>>
Android 自动化测试
查看>>
string 简单实现
查看>>
HTML5中音频视频标签使用
查看>>
C++注释规范
查看>>
Maven 搭建spring boot多模块项目
查看>>
违章查询免费api接口代码
查看>>
问题-DelphiXE10.2怎么安装文本转语音(TTS)语音转文本(SR)控件(XE10.2+WIN764)
查看>>
ICMP协议
查看>>
UVA 10881 - Piotr's Ants【模拟+思维】
查看>>
Android中View的事件分发机制——Android开发艺术探索笔记
查看>>