mybatis-注解及其他
来源:互联网 发布:p5.js 类库 编辑:程序博客网 时间:2024/05/15 07:51
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><properties resource="datasource.properties"></properties><settings> <setting name="cacheEnabled" value="true"/></settings> <!-- 将我们的pojo注册到配置文件 --> <typeAliases> <package name="com.wode.pojo" /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> </dataSource> </environment> </environments> <mappers> <package name="com/wode/mapper" /> </mappers></configuration>
二:普通增删改查
package com.wode.mapper;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Options;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.ResultMap;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.wode.pojo.User;public interface UserMapper { //使用注解的方式新增用户 @Insert("insert into users values(null,#{user.userName},#{user.userPwd},#{user.userType})") @Options(keyProperty="user.userId",useGeneratedKeys=true) public int addUser(@Param("user")User user); //注解的方式修改用户资料---多参数传递第二种方式 @Update("update users set user_name=#{name} where user_id=#{id}") public int updateUserNameById(@Param("name")String name,@Param("id")int id); //注解的方式删除用户 @Delete("delete from users where user_id=#{id}") public int delById(@Param("id") int id); @Select("select * from users")/** @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class) }) */ @ResultMap("userMap") public List<User> findAllUser();}
二:常用查询
2.1:一对一
package com.wode.mapper;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.One;import org.apache.ibatis.annotations.Options;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.ResultMap;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import com.wode.pojo.User;public interface UserMapper { //使用注解的方式新增用户 @Insert("insert into users values(null,#{user.userName},#{user.userPwd},#{user.userType})") @Options(keyProperty="user.userId",useGeneratedKeys=true) public int addUser(@Param("user")User user); //注解的方式修改用户资料---多参数传递第二种方式 @Update("update users set user_name=#{name} where user_id=#{id}") public int updateUserNameById(@Param("name")String name,@Param("id")int id); //注解的方式删除用户 @Delete("delete from users where user_id=#{id}") public int delById(@Param("id") int id); @Select("select * from users")/** @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class) }) */ @ResultMap("userMap") public List<User> findAllUser(); @Select("select * from users where user_id=#{id}") @ResultMap("userMap") public User findUserById(@Param("id") int id); //1:1 @Select("select * from users where user_id=#{id}") @ResultMap("userMap") public User findUserAndInfo(@Param("id")int id);}
package com.wode.mapper;import java.util.List;import org.apache.ibatis.annotations.One;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import com.wode.pojo.UserInfo;public interface UserInfoMapper { @Select("select * from userInfo") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public List<UserInfo> findUserInfo(); //user中外键查询数据 @Select("select * from userInfo where user_id=#{id}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public UserInfo findByUser(@Param("id")int id); //1:1 @Select("select * from userinfo where info_id=#{info_id}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class), @Result(column="user_id",property="user",one=@One(select="com.wode.mapper.UserMapper.findUserById")) }) public UserInfo findInfoAndUser(@Param("info_id") int id); }
2.2:一对多
public interface UserMapper { //使用注解的方式新增用户 @Insert("insert into users values(null,#{user.userName},#{user.userPwd},#{user.userType})") @Options(keyProperty="user.userId",useGeneratedKeys=true) public int addUser(@Param("user")User user); //注解的方式修改用户资料---多参数传递第二种方式 @Update("update users set user_name=#{name} where user_id=#{id}") public int updateUserNameById(@Param("name")String name,@Param("id")int id); //注解的方式删除用户 @Delete("delete from users where user_id=#{id}") public int delById(@Param("id") int id); @Select("select * from users")/** @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class) }) */ @ResultMap("userMap") public List<User> findAllUser(); @Select("select * from users where user_id=#{id}") @ResultMap("userMap") public User findUserById(@Param("id") int id); //一对多查询 @Select("select * from users where user_id=#{id}") @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class), @Result(property="info",column="user_id",many=@Many(select="com.wode.mapper.UserInfoMapper.findByUser")) }) public User findUserAndInfo(@Param("id")int id);}
public interface UserInfoMapper { @Select("select * from userInfo") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public List<UserInfo> findUserInfo(); //user中外键查询数据 @Select("select * from userInfo where user_id=#{id}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public UserInfo findByUser(@Param("id")int id); @Select("select * from userInfo where info_id=#{infoId}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class), @Result(column="user_id",property="user",one=@One(select="com.wode.mapper.UserMapper.findUserById")) }) public UserInfo findInfoAndUser(@Param("infoId")int infoId);}
2.3: 多对多
public interface UserMapper { //使用注解的方式新增用户 @Insert("insert into users values(null,#{user.userName},#{user.userPwd},#{user.userType})") @Options(keyProperty="user.userId",useGeneratedKeys=true) public int addUser(@Param("user")User user); //注解的方式修改用户资料---多参数传递第二种方式 @Update("update users set user_name=#{name} where user_id=#{id}") public int updateUserNameById(@Param("name")String name,@Param("id")int id); //注解的方式删除用户 @Delete("delete from users where user_id=#{id}") public int delById(@Param("id") int id); @Select("select * from users")/** @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class) }) */ @ResultMap("userMap") public List<User> findAllUser(); @Select("select * from users where user_id=#{id}") @ResultMap("userMap") public User findUserById(@Param("id") int id); //多对多查询 @Select("select * from users where user_id=#{id}") @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class), @Result(property="course",column="user_id",many=@Many(select="com.wode.mapper.CourseMapper.findCourseByUser")) }) public User findUserAndCourse(@Param("id")int id); @Select("select * from users where user_id in (select user_id from user_course where course_id=#{courseId})") @Results({ @Result(id=true,property="userId",column="user_id",javaType=Integer.class), @Result(property="userName",column="user_name",javaType=String.class), @Result(property="userPwd",column="user_pwd",javaType=String.class), @Result(property="userType",column="user_type",javaType=Integer.class) }) public User findUserByCourse(@Param("id")int courseId);}
public interface UserInfoMapper { @Select("select * from userInfo") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public List<UserInfo> findUserInfo(); //user中外键查询数据 @Select("select * from userInfo where user_id=#{id}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class) }) public UserInfo findByUser(@Param("id")int id); @Select("select * from userInfo where info_id=#{infoId}") @Results({ @Result(id=true,column="info_id",property="infoId",javaType=Integer.class), @Result(column="nickName",javaType=String.class,property="nickName"), @Result(column="email",property="email",javaType=String.class), @Result(column="user_id",property="user",one=@One(select="com.wode.mapper.UserMapper.findUserById")) }) public UserInfo findInfoAndUser(@Param("infoId")int infoId);}
public interface CourseMapper { @Select("select * from course where course_id=#{id}") @Results({ @Result(id=true,column="course_id",property="courseId",javaType=Integer.class), @Result(column="code",property="code",javaType=String.class), @Result(column="name",property="name",javaType=String.class) }) public Course findCourseById(@Param("id")int id); @Select("select * from course where course_id in (select course_id from user_course where user_id=#{id})") @Results({ @Result(id=true,column="course_id",property="courseId",javaType=Integer.class), @Result(column="code",property="code",javaType=String.class), @Result(column="name",property="name",javaType=String.class) }) public Course findCourseByUser(@Param("uId")int id); @Select("select * from course where course_id=#{courseId}") @Results({ @Result(id=true,column="course_id",property="courseId",javaType=Integer.class), @Result(column="code",property="code",javaType=String.class), @Result(column="name",property="name",javaType=String.class), @Result(property="users",column="course_id",many=@Many(select="com.wode.mapper.UserMapper.findUserByCourse")) }) public Course findCourseAndUser(@Param("courseId")int courseId);}
在mapper包中的接口和xml文件链接,需:
SqlSession session = DbUtil.getSession(); UserInfoMapper mapper = session.getMapper(UserInfoMapper.class);
通过mapper.findUserInfoById(id)等方式实现增删改查
阅读全文
0 0
- mybatis-注解及其他
- mybatis-注解及其他
- mybatis参数传递及其他标签
- mybatis 注解
- mybatis注解
- mybatis注解
- mybatis 注解
- mybatis注解
- mybatis 注解
- MyBatis 注解
- Mybatis注解
- MyBatis注解
- mybatis注解
- Mybatis注解
- 网格及其他
- 软件、技术及其他
- 古拉格及其他
- 菜单及其他资源
- ArcGIS ElementLayer上放置Windows控件
- pod repo update
- iOS制作framework
- 关于MyEclipse下载和破解
- PyCharm简单使用
- mybatis-注解及其他
- Min Cost Climbing Stairs问题及解法
- C++访问文件地址及详解(访问,删除创建)
- 网络流Dinic模板
- centos7更改网卡名称
- Xcode9 归档(Archive)时报unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code
- 记录一次更换JDK之后导致eclipse中web项目无法正常运行
- 基于 HTML5 Canvas 的 3D 压力器反序列化
- 微信分享(图片,链接,文字),向剪贴板粘贴内容,