Mybatis_插入数据
Posted lonske
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis_插入数据相关的知识,希望对你有一定的参考价值。
插入一条数据
<insert id = "insert" parameterType="xxx.x.Person"> insert into person (person_id, gender, person_addr, birthday) values(#{personId},#{name},#{gender},#{personAddr},#{birthday}) </insert>
java语句
SqlSessionFactory sessionFactory; public void setUp() throws Exception { InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml"); sessionFactory = new SqlSessionFactoryBuilder().build(in); } public void insert() { //创建SqlSession SqlSession session = sessionFactory.openSession(); try { Person p = new Person(); p.setName("李四"); p.setGender(1); p.setAddress("上海"); p.setBirthday(new Date()); int count = session.insert("xxx.x.mapper.PersonTestMapper.insert",p); //此处有一个返回值,是影响的行数 session.commit(); //数据库的变更(增删改)都要提交事务 System.out.println(count); }catch (Exception e) { e.printStackTrace(); session.rollback(); }finally { session.close(); } }
返回主键插入:
<!-- selectKey:是做主键返回的 keyProperty:接收返回主键的属性 order:insert语句和生成主键的sql的执行顺序mysql是AFTER,oracle是BEFORE resultType:返回主键的数据类型 生成主键的sql select LAST_INSERT_ID() --> <selectKey keyProperty="personId" order="AFTER" resultType="java.lang.Integer"> select LAST_INSERT_ID() </selectKey> insert into person (person_id, gender, person_addr, birthday) values(#{personId},#{name},#{gender},#{personAddr},#{birthday}) </insert>
以上是关于Mybatis_插入数据的主要内容,如果未能解决你的问题,请参考以下文章
MYBATIS05_ifwherechoosewhentrimsetforEach标签sql片段