ibatis之入门使用

下载ibatis包 以ibatis-2.3.4.726为例

导入ibatis-2.3.4.726.jar和mysql驱动包

新建Student类

package com.zns.domain;

public class Student {
    private int id;
    private String name;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

新建Student.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap      
    PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"      
    "http://ibatis.apache.org/dtd/sql-map-2.dtd">

<sqlMap>

    <insert id="addStudent" parameterClass="com.zns.domain.Student">
        insert into student(name) values (#name#)
        <selectKey resultClass="int" keyProperty="id">
            select @@identity as inserted
            <!-- 这里需要说明一下不同的数据库主键的生成,对各自的数据库有不同的方式: -->
            <!-- mysql:SELECT LAST_INSERT_ID() AS VALUE -->
            <!-- mssql:select @@IDENTITY as value -->
            <!-- oracle:SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL -->
            <!-- 还有一点需要注意的是不同的数据库生产商生成主键的方式不一样,有些是预先生成 (pre-generate)主键的,如Oracle和PostgreSQL。 
                有些是事后生成(post-generate)主键的,如MySQL和SQL Server 所以如果是Oracle数据库,则需要将selectKey写在insert之前 -->
        </selectKey>
    </insert>

    <delete id="deleteStudentById" parameterClass="int">
        delete from
        student where id=#id#
    </delete>

    <update id="updateStudent" parameterClass="com.zns.domain.Student">
        update student set
        name=#name# where id=#id#
    </update>

    <select id="selectAllStudent" resultClass="com.zns.domain.Student">
        select * from student
    </select>

    <select id="selectStudentById" parameterClass="int"
        resultClass="com.zns.domain.Student">
        select * from student where id=#id#
    </select>

    <select id="selectStudentByName" parameterClass="String"
        resultClass="com.zns.domain.Student">
        select id,name from student where name like
        '%$name$%'
    </select>

</sqlMap>

在src下新建ibatis-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>
<!-- 使用JDBC的事务管理 -->
<transactionManager type="JDBC">
<!-- 数据源 -->
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/mydb1"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="123456"/>
</dataSource>
</transactionManager>

<sqlMap resource="com/zns/domain/Student.xml"/>

</sqlMapConfig>
扫描二维码关注公众号,回复: 5171627 查看本文章

简单测试

Reader reader = Resources.getResourceAsReader("ibatis-config.xml");
        SqlMapClient sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
        reader.close();

        // //增加
        // Student model=new Student();
        // model.setName("张三");
        // Object object = sqlMapClient.insert("addStudent", model);
        // System.out.println("添加学生信息的返回id是:" + object);

        // // 删除
        // Object object = sqlMapClient.delete("deleteStudentById", 1);
        // System.out.println("受影响的行数:" + object);

        // // 修改
        // Student model = new Student();
        // model.setId(6);
        // model.setName("张三");
        // Object object = sqlMapClient.update("updateStudent", model);
        // System.out.println("受影响的行数:" + object);

        // 查询
        // List<Student> list1 = sqlMapClient.queryForList("selectAllStudent");
        // List<Student> list2 = sqlMapClient.queryForList("selectStudentByName", "李");
        //Student student = (Student) sqlMapClient.queryForObject("selectStudentById", 10);

猜你喜欢

转载自www.cnblogs.com/zengnansheng/p/10386008.html