java mybatis 注解_mybatis 注解使用

一、全局配置文件<?xml  version="1.0" encoding="UTF-8" ?>

configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

二、获取SqlSession工具类package com.liu.utils;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;

import org.apache.ibatis.session.SqlSession;

import org.apache.ibatis.session.SqlSessionFactory;

import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class DBFactory {

public static SqlSessionFactory sqlSessionFactory = null;

static {

try {

// 配置文件

String resource = "mybatis-config.xml";

InputStream inputStream = Resources.getResourceAsStream(resource);

sqlSessionFactory = new SqlSessionFactoryBuilder().build(

inputStream, "mysql");

} catch (Exception e) {

e.printStackTrace();

}

}

public static SqlSessionFactory getFactory() {

return sqlSessionFactory;

}

public static SqlSession getSession(){

return sqlSessionFactory.openSession();

}

}

三、与之对应的实体类package com.liu.po;

/**

* 用户信息的实体类

* @author yingjie

*

*/

public class UserInfo {

private Integer userId;

private String userName;

private String userSex;

public Integer getUserId() {

return userId;

}

public void setUserId(Integer userId) {

this.userId = userId;

}

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getUserSex() {

return userSex;

}

public void setUserSex(String userSex) {

this.userSex = userSex;

}

@Override

public String toString() {

return "UserInfo [userId=" + userId + ", userName=" + userName

+ ", userSex=" + userSex + "]";

}

}

四、Mapper接口package com.liu.mapper;

import java.util.HashMap;

import java.util.List;

import org.apache.ibatis.annotations.Delete;

import org.apache.ibatis.annotations.Insert;

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 org.apache.ibatis.annotations.Update;

import com.liu.po.UserInfo;

public interface UserInfoMapper {

@Select(value={"select * from user_info"})

public List getUserList();

/**

* 根据条件查询用户信息

* @param user 查询条件

* @return

*/

@Select(value={"select * from user_info where user_id=#{userId}"})

@Results({@Result(property="userId",column="user_id"),

@Result(property="userName",column="user_name"),

@Result(property="userSex",column="user_sex")

})

public List selectUser(UserInfo user);

/**

* 根据编号查询用户信息

* @param userId 用户编号

* @return

*/

@Select(value={"select * from user_info where user_id=#{userId} and user_name=#{userName}"})

@Results({@Result(property="userId",column="user_id"),

@Result(property="userName",column="user_name"),

@Result(property="userSex",column="user_sex")

})

public UserInfo selectOneUser(@Param("userId") Integer userId,@Param("userName") String userName);

/**

* 添加用户信息

* @param user 添加的内容

* @return 返回影响行数

*/

@Insert("insert into  user_info (user_name,user_sex) values(#{userName},#{userSex})")

public int addUser(UserInfo user);

/**

* 修改用户信息

* @param user 添加的内容

* @return 返回影响行数

*/

@Update("update user_info set user_name=#{userName},user_sex=#{userSex} where user_id = #{userId}")

public int updateUser(UserInfo user);

/**

* 删除用户信息

* @param userId 编号

* @return 返回影响行数

*/

@Delete("delete  from user_info where user_id=#{userId}")

public int deleteUser(Integer userId);

}

五、测试类package com.liu;

import java.util.HashMap;

import java.util.List;

import org.apache.ibatis.session.SqlSession;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import com.liu.mapper.UserInfoMapper;

import com.liu.po.UserInfo;

import com.liu.utils.DBFactory;

public class UserTest {

SqlSession session = null;

UserInfoMapper mapper = null;

@Before

public void testBefore() {

session = DBFactory.getSession();

mapper = session.getMapper(UserInfoMapper.class);

}

@After

public void testAfter() {

session.close();

}

@Test

public void select1() {

List list = mapper.getUserList();

System.out.println(list.size());

for (HashMap map : list) {

System.out.println("编号" + map.get("user_id") + " 姓名: "

+ map.get("user_name") + " 性别:" + map.get("user_sex"));

}

}

@Test

public void select2() {

UserInfo puser = new UserInfo();

puser.setUserId(4);

List list = mapper.selectUser(puser);

System.out.println(list.size());

for (UserInfo user : list) {

System.out.println(user);

}

}

@Test

public void select3() {

UserInfo user = mapper.selectOneUser(4, "王五他爸");

System.out.println(user);

}

@Test

public void addUser() {

try {

UserInfo user = new UserInfo();

user.setUserName("悟空的儿子");

user.setUserSex("男");

int count = mapper.addUser(user);

if (count > 0) {

session.commit();// 提交

System.out.println("成功");

}

} catch (Exception e) {

session.rollback();

e.printStackTrace();

}

}

@Test

public void updateUser() {

try {

UserInfo user = new UserInfo();

user.setUserId(7);

user.setUserName("小芳的孙子");

user.setUserSex("男");

int count = mapper.updateUser(user);

if (count > 0) {

session.commit();// 提交

System.out.println("成功");

}

} catch (Exception e) {

session.rollback();

e.printStackTrace();

}

}

@Test

public void deleteUser() {

try {

int count = mapper.deleteUser(3);

if (count > 0) {

session.commit();// 提交

System.out.println("成功");

}

} catch (Exception e) {

session.rollback();

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值