java insert用法_3.insert添加用法

一.新增用户接口

UserMapper.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.annotations.Param;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.List;/**

* @author weihu

* @date 2018/8/3/003 0:01*/

public interfaceUserMapper {/**

* 新增用户*/

intinsertUser(SysUser sysUser);

}

UserMapper.xml

/p>

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

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

INSERT INTO sys_user (

id,

user_name,

user_password ,

user_email,

user_info,

head_img,

create_time)

VALUES

(#{id},#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg,jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP})

id:命名空间唯一标识符,可用来代表这条语句。

parameterType:即将传入的语句参数的完全限定类名或别名。这个属性是可选的,因为MyBatis可以推断出出入语句的具体参数,因此不建议配置该属性。

jdbcType:为了防止类型错误,对于一些特殊的数据类型,建议指定具体的jdbcType值。

UserMapperTest.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.session.SqlSession;

import org.junit.Assert;

import org.junit.Test;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.Date;

import java.util.List;/**

* @author weihu

* @date 2018/8/5/005 9:34

* @desc*/

public classUserMapperTest extends BaseMapperTest {/**

* 插入用户*/@Testpublic voidinsertUserTest(){

SqlSession sqlSession=getSqlSession();try{

UserMapper userMapper= sqlSession.getMapper(UserMapper.class);//创建一个user对象

SysUser sysUser=newSysUser();

sysUser.setId(4L);

sysUser.setUserName("huge");

sysUser.setUserPassword("8888888");

sysUser.setUserEmail("1210740934@qq.com");

sysUser.setUserInfo("测试用户");

sysUser.setHeadImg(new byte[]{1,2,3});/*插入的时间格式

sysUser.setCreateTime("2018-08-05 17:00:58");插入这种的时间格式是不正确的*/sysUser.setCreateTime(newDate());int result =userMapper.insertUser(sysUser);

System.out.println("插入1条数据"+result);//注意一定要commit(),不提交的话数据是插入不到数据库中的

sqlSession.commit();

}catch(Exception e) {

e.printStackTrace();//数据插入不成功进行回滚

sqlSession.rollback();

}finally{//关闭sqlSession

sqlSession.close();

}

}

}

二、返回主键自增的值

UserMapper.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.annotations.Param;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.List;/**

* @author weihu

* @date 2018/8/3/003 0:01*/

public interfaceUserMapper {/**

* 获取主键自增Id*/

intinsertPrimaryKey(SysUser sysUser);

}

UserMapper.xml

/p>

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

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

INSERT INTO sys_user (

user_name,

user_password ,

user_email,

user_info,

head_img,

create_time)

VALUES

(#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg,jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP})

UserMapperTest.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.session.SqlSession;

import org.junit.Assert;

import org.junit.Test;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.Date;

import java.util.List;/**

* @author weihu

* @date 2018/8/5/005 9:34

* @desc*/

public classUserMapperTest extends BaseMapperTest {

@Testpublic voidinsertGetPrimayKey(){

SqlSession sqlSession=getSqlSession();try{

UserMapper userMapper= sqlSession.getMapper(UserMapper.class);//创建一个user对象

SysUser sysUser=newSysUser();

sysUser.setUserName("huge2");

sysUser.setUserPassword("88888886");

sysUser.setUserEmail("1210740934@qq.com");

sysUser.setUserInfo("测试用户");

sysUser.setHeadImg(new byte[]{1,2,3});int result=userMapper.insertPrimaryKey(sysUser);

sqlSession.commit();

//自动获取id

System.out.println(sysUser.getId());

}catch(Exception e) {//数据插入不成功进行回滚

sqlSession.rollback();

e.printStackTrace();

}finally{//关闭sqlSession

sqlSession.close();

}

}

}

三、使用selectKey返回主键的值

UserMapper.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.annotations.Param;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.List;/**

* @author weihu

* @date 2018/8/3/003 0:01*/

public interfaceUserMapper {/**

* 获取主键,主键自增和非自增主键都可以获取*/

intinsertAnyPrimaryKey(SysUser sysUser);

}

UserMapper.xml

/p>

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

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

INSERT INTO sys_user (

user_name,

user_password ,

user_email,

user_info,

head_img,

create_time)

VALUES

(#{userName},#{userPassword},#{userEmail},#{userInfo},#{headImg,jdbcType=BLOB},#{createTime,jdbcType=TIMESTAMP})

SELECT LAST_INSERT_ID()

order属性设置和使用的数据库有关,msyql用AFTER,Oracle用BEFORE

SELECT LAST_INSERT_ID()用于获取数据库中最后插入的数据的ID值。

UserMapperTest.java

package tk.mybatis.simple.mapper;

import org.apache.ibatis.session.SqlSession;

import org.junit.Assert;

import org.junit.Test;

import tk.mybatis.simple.model.SysRole;

import tk.mybatis.simple.model.SysUser;

import java.util.Date;

import java.util.List;/**

* @author weihu

* @date 2018/8/5/005 9:34

* @desc*/

public classUserMapperTest extends BaseMapperTest {

@Testpublic voidinsertAnyPrimaryKey(){

SqlSession sqlSession=getSqlSession();try{

UserMapper userMapper= sqlSession.getMapper(UserMapper.class);//创建一个user对象

SysUser sysUser=newSysUser();

sysUser.setUserName("huge2");

sysUser.setUserPassword("88888886");

sysUser.setUserEmail("1210740934@qq.com");

sysUser.setUserInfo("测试用户");

sysUser.setHeadImg(new byte[]{1,2,3});int result=userMapper.insertAnyPrimaryKey(sysUser);

sqlSession.commit();

System.out.println(sysUser.getId());

}catch(Exception e) {//数据插入不成功进行回滚

sqlSession.rollback();

e.printStackTrace();

}finally{//关闭sqlSession

sqlSession.close();

}

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值