建设网站和推广,知名网站开发公司,写wordpress,哪些h5网站比较好目录 一、MyBatis的增删改查1、添加2、删除3、修改4、查询一个实体类对象5、查询集合 二、MyBatis的各种查询功能1、查询一个实体类对象2、查询一个list集合3、查询单个数据4、查询一条数据为map集合5、查询多条数据为map集合 三、特殊SQL的执行1、模糊查询2、批量删除3、动态设… 目录 一、MyBatis的增删改查1、添加2、删除3、修改4、查询一个实体类对象5、查询集合 二、MyBatis的各种查询功能1、查询一个实体类对象2、查询一个list集合3、查询单个数据4、查询一条数据为map集合5、查询多条数据为map集合 三、特殊SQL的执行1、模糊查询2、批量删除3、动态设置表名4、添加功能获取自增的主键 一、MyBatis的增删改查
1、添加
!--int insertUser();--
insert idinsertUserinsert into t_user values(null,admin,123456,23,男)
/insert2、删除
!--int deleteUser();--
delete iddeleteUserdelete from t_user where id 7
/delete3、修改
!--int updateUser();--
update idupdateUserupdate t_user set usernameybc,password123 where id 6
/update4、查询一个实体类对象
!--User getUserById();--
select idgetUserById resultTypecom.atguigu.mybatis.bean.Userselect * from t_user where id 2
/select5、查询集合
!--ListUser getUserList();--
select idgetUserList resultTypecom.atguigu.mybatis.bean.Userselect * from t_user
/select注意 1、查询的标签select必须设置属性resultType或resultMap用于设置实体类和数据库表的映射 关系 resultType自动映射用于属性名和表中字段名一致的情况 resultMap自定义映射用于一对多或多对一或字段名和属性名不一致的情况 2、当查询的数据为多条时不能使用实体类作为返回值只能使用集合否则会抛出异常 TooManyResultsException但是若查询的数据只有一条可以使用实体类或集合作为返回值 二、MyBatis的各种查询功能
1、查询一个实体类对象
/**
* 根据用户id查询用户信息
* param id
* return
*/
User getUserById(Param(id) int id);!--User getUserById(Param(id) int id);--
select idgetUserById resultTypeUserselect * from t_user where id #{id}
/select2、查询一个list集合
/**
* 查询所有用户信息
* return
*/
ListUser getUserList();!--ListUser getUserList();--
select idgetUserList resultTypeUserselect * from t_user
/select3、查询单个数据
/**
* 查询用户的总记录数
* return
* 在MyBatis中对于Java中常用的类型都设置了类型别名
* 例如java.lang.Integer--int|integer
* 例如int--_int|_integer
* 例如Map--map,List--list
*/
int getCount();!--int getCount();--
select idgetCount resultType_integerselect count(id) from t_user
/select4、查询一条数据为map集合
/**
* 根据用户id查询用户信息为map集合
* param id
* return
*/
MapString, Object getUserToMap(Param(id) int id);!--MapString, Object getUserToMap(Param(id) int id);--
select idgetUserToMap resultTypemapselect * from t_user where id #{id}
/select
!--结果{password123456, sex男, id1, age23, usernameadmin}--5、查询多条数据为map集合
方式一
/**
* 查询所有用户信息为map集合
* return
* 将表中的数据以map集合的方式查询一条数据对应一个map若有多条数据就会产生多个map集合此
时可以将这些map放在一个list集合中获取
*/
ListMapString, Object getAllUserToMap();!--MapString, Object getAllUserToMap();--
select idgetAllUserToMap resultTypemapselect * from t_user
/select方式二
/**
* 查询所有用户信息为map集合
* return
* 将表中的数据以map集合的方式查询一条数据对应一个map若有多条数据就会产生多个map集合并
且最终要以一个map的方式返回数据此时需要通过MapKey注解设置map集合的键值是每条数据所对应的
map集合
*/
MapKey(id)
MapString, Object getAllUserToMap();!--MapString, Object getAllUserToMap();--
select idgetAllUserToMap resultTypemapselect * from t_user
/select
结果
!--
{
1{password123456, sex男, id1, age23, usernameadmin},
2{password123456, sex男, id2, age23, username张三},
3{password123456, sex男, id3, age23, username张三}
}
--三、特殊SQL的执行
1、模糊查询
/**
* 测试模糊查询
* param mohu
* return
*/
ListUser testMohu(Param(mohu) String mohu);!--ListUser testMohu(Param(mohu) String mohu);--
select idtestMohu resultTypeUser
!--select * from t_user where username like %${mohu}%--
!--select * from t_user where username like concat(%,#{mohu},%)--select * from t_user where username like %#{mohu}%
/select2、批量删除
/**
* 批量删除
* param ids
* return
*/
int deleteMore(Param(ids) String ids);!--int deleteMore(Param(ids) String ids);--
delete iddeleteMoredelete from t_user where id in (${ids})
/delete正确sqldelete from t_user where id in (1,2,3) 如果是#{}delete from t_user where id in (‘1,2,3’)× 如果是${}delete from t_user where id in (1,2,3)
3、动态设置表名
/**
* 动态设置表名查询所有的用户信息
* param tableName
* return
*/
ListUser getAllUser(Param(tableName) String tableName);!--ListUser getAllUser(Param(tableName) String tableName);--
select idgetAllUser resultTypeUserselect * from ${tableName}
/select4、添加功能获取自增的主键 t_clazz(clazz_id,clazz_name) t_student(student_id,student_name,clazz_id) 1、添加班级信息 2、获取新添加的班级的id 3、为班级分配学生即将某学的班级id修改为新添加的班级的id /**
* 添加用户信息
* param user
* return
* useGeneratedKeys设置使用自增的主键
* keyProperty因为增删改有统一的返回值是受影响的行数因此只能将获取的自增的主键放在传输的参
数user对象的某个属性中
*/
int insertUser(User user);!--int insertUser(User user);--
insert idinsertUser useGeneratedKeystrue keyPropertyidinsert into t_user values(null,#{username},#{password},#{age},#{sex})
/insert