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>

 

转载于:https://www.cnblogs.com/lonske/p/8981547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值