`
FreeWhere
  • 浏览: 3890 次
  • 性别: Icon_minigender_1
  • 来自: 东莞
最近访客 更多访客>>
社区版块
存档分类
最新评论

iBATIS3学习--Demo

阅读更多

这里使用一个很简单的例子,没有界面,直接在控制台中输出。

 

数据库表结构如下:

 

CREATE  TABLE  hr (
  ID INT(11) NOT NULL AUTO_INCREMENT ,
  Date DATE NULL DEFAULT NULL ,
  EmployeeId VARCHAR(15) NULL DEFAULT NULL ,
  Name VARCHAR(10) NULL DEFAULT NULL ,
  Sex CHAR(3) NULL DEFAULT NULL ,
  IdCard VARCHAR(18) NULL DEFAULT NULL ,
  Wage DECIMAL(10,2) NULL DEFAULT NULL ,
  Content TEXT NULL DEFAULT NULL ,
  PRIMARY KEY (ID) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8;

 

 总配置文件Configuration.xml:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-config.dtd">
<configuration>

    <!--配置别名-->
    <typeAliases>
        <typeAlias alias="Hr" type="com.freewhere.ibatistest.Hr"/>
    </typeAliases>

    <!--配置运行环境-->
    <environments default="development">
        <!--开发环境-->
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="UNPOOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/test"/>
                <property name="username" value="root"/>
                <property name="password" value="2479136"/>               
            </dataSource>
        </environment>
        <!--测试环境-->       
    </environments>
    
    <!--配置SQL Map文件-->
    <mappers>
        <mapper resource="HrMap.xml"/>
    </mappers>
</configuration>

 

SQL Map文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="HrMapper">    

    <!--根据ID查询记录-->
    <select id="selectWithID" parameterType="int" resultType="Hr">
        select * from hr where id = #{id}
    </select>

    <!--查询所有记录-->
    <select id="selectAll" resultType="Hr">
        select * from hr
    </select>

    <!--插入一条记录-->
    <insert id="insertHr" parameterType="Hr">
        insert into hr (name,sex,idCard,employeeId,date,wage,content)
        values (#{name,jdbcType=VARCHAR}, #{sex,jdbcType=VARCHAR}, #{idCard,jdbcType=VARCHAR},
        #{employeeId,jdbcType=VARCHAR},#{date,jdbcType=DATE},#{wage,jdbcType=NUMERIC},#{content,jdbcType=VARCHAR})
    </insert>

    <!--根据ID删除一条记录-->
    <delete id="deleteHr" parameterType="int">
        delete from hr where id = #{id}
    </delete>

    <!--跟新一条记录-->
    <update id="updateHr" parameterType="Hr">
        update hr set name = #{name,jdbcType=VARCHAR},sex = #{sex,jdbcType=VARCHAR},
        idCard = #{idCard,jdbcType=VARCHAR},employeeId = #{employeeId,jdbcType=VARCHAR},
        date = #{date,jdbcType=DATE},wage = #{wage,jdbcType=NUMERIC},content = #{content,jdbcType=VARCHAR}
        where id = #{id}
    </update>
</mapper>

 

Util类:

 

public class IBatisUtil {

    private static SqlSessionFactory factory;

    private IBatisUtil() throws Exception {
    }

    public static SqlSession openSession() throws Exception {
        if (factory == null) {
            String resource = "configuration.xml";
            Reader reader = Resources.getResourceAsReader(resource);
            factory = new SqlSessionFactoryBuilder().build(reader);
        }
        return factory.openSession();
    }
}
 

 

实体类:

 

public class Hr {

    private int id;  //主键
    private Date date;  //入职时间
    private String employeeId;  //员工编号
    private String name;  //姓名
    private String sex;  //性别
    private String idCard;  //身份证号
    private float wage;  //薪酬
    private String content;  //备注

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public float getWage() {
        return wage;
    }

    public void setWage(float wage) {
        this.wage = wage;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public String getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}
 

 

主类:

 

public class Main {

    public static void main(String[] args) throws Exception {

        SqlSession session = IBatisUtil.openSession();

        /*查询所有记录*/
        List<Hr> list = session.selectList("HrMapper.selectAll");
        System.out.println("员工总数:" + list.size());

        /*根据ID查询记录*/
        Hr hr = (Hr) session.selectOne("HrMapper.selectWithID", "1");
        System.out.println(hr.getEmployeeId());
        System.out.println(hr.getDate());
        System.out.println(hr.getWage());

        /*添加一条记录*/
        Hr nhr = new Hr();
        nhr.setIdCard("15345731245323");
        nhr.setDate(new Date());
        nhr.setEmployeeId("em23123");
        nhr.setName("李四");
        nhr.setSex("男");
        nhr.setWage(250.00f);
        session.insert("HrMapper.insertHr", hr);
        session.commit();

        /*修改一条记录*/
        Hr uhr = new Hr();
        uhr.setId(26);
        uhr.setIdCard("1534657657323");
        uhr.setDate(new Date());
        uhr.setEmployeeId("em82115");
        uhr.setName("张三");
        uhr.setSex("男");
        uhr.setWage(2250.00f);
        session.insert("HrMapper.updateHr", hr);
        session.commit();

        /*删除一条记录*/
        session.delete("HrMapper.deleteHr", "21");
        session.commit();

        /*最后谨记关闭Session*/
        session.close();
    }
}
 

 

至此,现向数据库插入一条测试数据,然后程序便可以运行了。

  • hr.rar (8.5 KB)
  • 下载次数: 65
分享到:
评论

相关推荐

    ibatisDemo 入门源码

    六、IbatisDemo学习要点 1. 理解Ibatis的基本架构和工作原理。 2. 掌握SqlMapConfig.xml的配置,如数据源设置、事务管理等。 3. 学习Mapper接口和Mapper XML的编写,理解SQL与Java方法的映射关系。 4. 熟悉动态SQL的...

    Ibatis-Demo.rar

    在Ibatis-Demo中,我们可以学习到以下几个关键知识点: 1. **配置文件**:Ibatis的核心配置文件(mybatis-config.xml)用于设置全局属性,比如数据库连接池、类型处理器等。通过这个文件,Ibatis知道如何连接数据库...

    ibatisDemo.zip

    总之,"ibatisDemo.zip"是一个全面了解和学习Ibatis的好资源,通过实例和视频,我们可以快速上手,并深入理解这个强大的持久层框架。在实际开发中,Ibatis可以帮助我们更高效地处理数据库操作,提升项目的开发效率。

    .net IbatisDemo 学习

    .NET IbatisDemo 学习是针对ASP.NET MVC框架与IBatis.net数据访问层集成的一个实践教程,对于初学者掌握IBatis.net的用法具有很大的帮助。在这个教程中,我们将深入探讨如何将这两种技术结合,以实现高效的数据操作...

    ibatis小例子Demo

    学习这个Demo,你需要理解以下步骤: 1. **环境搭建**:确保你的项目中已经引入了Ibatis的相关依赖,如`mybatis-x.x.x.jar`和数据库驱动。 2. **配置初始化**:配置`sqlMapConfig.xml`,包括数据源设置、日志配置...

    spring+ibatis demo搭建

    ### Spring+Ibatis Demo搭建详解 #### 一、项目背景与目标 在现代软件开发过程中,集成多种技术栈来构建高效稳定的应用系统是常见的做法。本文档将详细介绍如何使用Spring和Ibatis这两种流行的技术框架搭建一个...

    Ibatis 练习Demo和笔记

    总之,这个"Ibatis 练习Demo和笔记"资源为初学者提供了全面的学习路径,从理论到实践,逐步掌握Ibatis这一强大持久层框架的使用。通过深入研究并实践,不仅可以提升数据库操作技能,还能为后续的Spring全家桶学习...

    iBatisDemo

    3. "Ibatis学习随笔 - 努力创造未来! - BlogJava.files":这个文件夹可能包含了博客文章中提到的示例代码、图片或其他辅助资源,有助于读者更好地理解和实践iBatis的应用。 4. "iBatisDemo":这可能是项目的源代码...

    ibatis的一个简单demo用户登录

    【标题】"ibatis的一个简单demo用户登录"指的是使用iBATIS这个轻量级的Java持久层框架实现的一个用户登录...通过这个DEMO,开发者可以学习如何在实际项目中利用iBATIS进行数据库操作,特别是在用户登录这类常见场景下。

    IbatisDemo01

    【IbatisDemo01】是基于.NET平台的一个完整的IbatisNet框架的应用示例,它包含了对数据库进行增、删、改、查(CRUD)的基本操作。IbatisNet是一款轻量级的ORM(对象关系映射)框架,它允许开发者将SQL语句与.NET代码...

    springmvc-ibatis-html模版登录后台模版demo

    3. "oa_demo":这可能是一个办公自动化(OA)系统的示例,展示了如何使用Spring MVC和iBatis构建企业级应用。可能包括用户管理、任务分配、文档处理等模块。 在这个项目中,Spring MVC负责接收HTTP请求,根据配置的...

    IbatisDemo03

    3. **动态SQL的使用**:在"IbatisDemo03"中,你可能会看到如下的例子,例如,根据用户输入的条件来查询数据: ```xml SELECT * FROM Users WHERE 1=1 != null"&gt; AND Name LIKE #{Name} != null"&gt; AND Age...

    struts1+ibatis+Spring demo

    这个"struts1+ibatis+Spring demo"是一个示例项目,展示了如何将这三个框架集成到一起,实现一个完整的Web应用。 Struts1是Apache组织开发的一个开源MVC框架,它主要负责控制应用程序的流程,通过Action类处理用户...

    ibatis的demo

    通过这个Demo,开发者可以学习到Ibatis的基本使用方法和最佳实践。 【标签】"ibatis"直接指出了这个项目的核心技术,Ibatis是一个流行的Java ORM(对象关系映射)工具,它的主要功能包括:动态SQL、事务管理、结果...

    struts+spring+ibatis的Demo

    这个"struts+spring+ibatis的Demo"压缩包文件提供了这三个框架集成使用的示例代码,旨在帮助开发者理解和学习如何将它们有效地结合在一起。 **Struts 2框架** Struts 2是一个基于MVC设计模式的Web应用框架,它继承...

    iBatis_Demo.rar_ibaties demo_ibatis de_ibatis mysql demo_ibati

    iBatis 是一款著名的开源持久层框架,它允许开发者将SQL语句与Java代码分离,提供了灵活的数据库交互方式。本示例项目"Ibatis_Demo"是一个针对新手的入门教程,旨在帮助...这将为后续深入学习和使用iBatis奠定基础。

    ibatisDemo.rar

    《IbatisDemo:数据库半自动化操作的精要与实践》 在现代的Web开发中,数据库操作是不可或缺的一部分。IbatisDemo是一个展示如何利用Ibatis框架实现数据库半自动化操作的实例,相较于Hibernate,Ibatis提供了更高的...

    IbatisDemo.rar

    IbatisDemo.rar是一个压缩包,其中...IbatisDemo提供了一套完整的Ibatis学习资源,包括文档、示例代码和运行所需的jar包。通过深入研究这个压缩包,你将能够熟练掌握Ibatis的使用,并能将其有效地应用到你的项目中。

    STRUTS2+SPRING+IBATIS搭建的Demo实例

    总结来说,这个"STRUTS2+SPRING+IBATIS搭建的Demo实例"是一个很好的学习资料,它帮助开发者理解并实践如何在Java Web开发中有效地集成这三个框架,实现MVC架构,以及如何利用自动装配功能简化配置和提高代码的可维护...

Global site tag (gtag.js) - Google Analytics