`

Ibatis+MySql实例 例子

    博客分类:
  • SSI
 
阅读更多

步骤如下:
1,在eclipse中新建一个工程ibatisnew,然后把mysql和ibatis的jar包导入进去。这两个包(ibatis-2.3.4.726.jar+mysql-connector-java-5.0.8-bin.jar)可以从网上下载,直接拷贝到WEB-INF/lib目录下。

2,建立SqlMapConfig.xml文件
这个文件包含了数据库的配置,和各个数据表对应的xml的引用部分。

文件名:SqlMapConfig.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>

  <!-- Configure a built-in transaction manager.  If youre using an 
       app server, you probably want to use its transaction manager 
       and a managed datasource -->
  <transactionManager type="JDBC" commitRequired="false">
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:mysql://127.0.0.1:3306/db"/>
      <property name="JDBC.Username" value="root"/>
      <property name="JDBC.Password" value=""/>
    </dataSource>
  </transactionManager>

  <!-- List the SQL Map XML files. They can be loaded from the 
       classpath, as they are here (com.domain.data...) -->
  <sqlMap resource="test_ibatis/User.xml"/>

</sqlMapConfig>

3,建立SqlMapConfig.xml中引用的User.xml文件,
这个文件对应数据库中的user表,在这个文件中可以定义别名,可以写sql语句。

文件名:User.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 namespace="User">

  <!-- Use type aliases to avoid typing the full classname every time. -->
  <typeAlias alias="User" type="test_ibatis.User"/>

  <!-- Select with no parameters using the result map for Account class. -->
  <select id="selectAllUsers" resultClass="User">
    select * from user
  </select>

</sqlMap>

4,建立user.xml文件中指定的class的文件
这个文件就是一个javabean,和数据库的表的字段相对应,有set和get方法。

文件名;User.java
文件内容:
package test_ibatis;

import java.sql.Date;

public class User {
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        String str = "id = " + this.id;
        str += " name = " + this.name;
        str += " birthday = " + this.birthday;
        str += " money = " + this.money;
        return str;
    }

    private int id;
    private String name;
    private Date birthday;
    private float money;

    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;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public float getMoney() {
        return money;
    }

    public void setMoney(float money) {
        this.money = money;
    }
}

5,建立DAO程序和实现程序
接口名:IUserDAO.java
内容:
package test_ibatis;

import java.util.List;

public interface IUserDAO {
    public List<User> getAllUser();
}

实现类:IUserDAOImpl.java
内容:
package test_ibatis;

import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;

public class IUserDAOImpl implements IUserDAO {

    private static SqlMapClient client = null;
    
    static {
        try {
            Reader reader = Resources.getResourceAsReader("test_ibatis/SqlMapConfig.xml");
            client = SqlMapClientBuilder.buildSqlMapClient(reader);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    
    public List<User> getAllUser() {
        // TODO Auto-generated method stub
        try {
            return client.queryForList("selectAllUsers");
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return null;
    }
}

1,实现类中要使用ibatis提供的功能,先从xml文件中读取配置,构造SqlMapClient的对象。
2,具体的实现方法,通过调用SqlMapClient提供的方法,指定xml中的id即可执行对应的sql,并返回结果。

6,测试class
文件名:UserDAO.java
文件内容:
package test_ibatis;

public class UserDAO {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        IUserDAO dao = new IUserDAOImpl();
        for (User user : dao.getAllUser()) {
            System.out.println(user);
        }
    

分享到:
评论

相关推荐

    struts+spring+ibatis+mysql整合小例子(适用于新手)

    在这个例子中,Mysql作为数据存储,通过Ibatis执行的SQL语句进行数据的增删改查操作。Mysql以其高效、稳定和易于管理的特性,成为许多开发者的首选数据库。 整合过程大致如下: - 首先,配置Struts的Action和...

    struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子

    总结起来,这个"struts1.2+ibatis+DWR2.0+MySql5.0增删改查的小例子"涵盖了Web开发中的一些核心技术和实践,对于初学者来说,这是一个很好的学习资源,能够帮助他们快速掌握Java Web开发的基础知识,并逐步深入到更...

    Spring+ibatis+Dhtmlx+dwr一个简单的例子

    这个“Spring+ibatis+Dhtmlx+dwr一个简单的例子”提供了使用这些技术进行集成的实例,这对于初学者来说是一份宝贵的参考资料。下面将详细解释这些技术及其在项目中的作用。 1. **Spring**:Spring 是一个开源的Java...

    struts2+spring+ibatis实例

    基于struts2+spring+ibatis做的一个例子。 包含: 1.项目源代码,及所需要用的jar包; 2.数据库脚本。 环境: myeclipse + mysql + tomcat 功能: 1.登录; 2.对另一张表的增删改查操作; 3.设有拦截器功能...

    mySQL+ibatis的小例子

    总之,"mySQL+ibatis的小例子"是一个很好的起点,它帮助初学者理解数据库操作和数据访问层的实现,同时也展示了如何在Java应用程序中优雅地处理SQL。通过这个例子,你可以逐步掌握数据库设计、SQL编写、iBATIS配置和...

    Spring+Ibatis集成开发实例.doc

    在这个例子中,我们使用的是MySQL,并创建了一个名为`ibatis`的表。表结构如下: ```sql CREATE TABLE `ibatis` ( `id` varchar(20) NOT NULL, `name` varchar(20) default NULL, PRIMARY KEY (`id`) ) ENGINE=...

    ibatis2.3例子代码

    总结来说,"ibatis2.3例子代码"提供了一个基于iBatis 2.3版本与MySQL数据库交互的实例。通过学习这个例子,你可以了解到如何配置iBatis,如何编写SQL映射文件,以及如何在Java代码中使用SqlSession和Mapper接口来...

    ibatis完整实例

    在本实例中,"mys2si"可能是一个简化的项目名称,它可能代表 "MySql Second Service Interface",暗示这是一个基于 MySQL 数据库的二次开发服务接口。这个项目包含了一个 `ibatis2.jar` 文件,这是 Ibatis 2.0 的...

    使用的iBatis 简单例子

    在这个“使用的iBatis简单例子”中,我们将深入探讨如何配置和使用iBatis进行数据库交互。 首先,iBatis的核心组件包括XML配置文件、SQL映射文件以及SqlSessionFactory。XML配置文件用于定义数据源、事务管理器等...

    ibatis简单实例

    在"IbatisTest"这个例子中,我们可以看到Ibatis如何通过简单的配置和接口定义实现数据库操作。通过Mapper XML文件,SQL语句被封装,使得数据库操作更加直观,同时避免了硬编码SQL的风险。而通过SqlSession,我们可以...

    ibatis与Spring整合例子

    这些库文件分别包含了Spring框架、iBATIS框架以及MySQL数据库连接驱动。 接着,我们创建POJO类,例如这里的`Student`类,它代表了数据库中的一个实体。这个类包含了一些基本属性,如`id`、`firstname`和`lastname`...

    springboot+mybatis plus整合案例

    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 开启SQL日志输出 ``` 接下来,创建MyBatis Plus的实体类。这些类通常对应数据库中的表,包含对应的属性和getter/setter方法。例如,针对"gemini_travel...

    一个Ibatis的详细例子

    - 使用提供的MySQL数据库,确保正确导入数据。这可能涉及到创建数据库、表以及填充数据。 - 配置`SqlMapConfig.xml`文件,连接到该数据库,包括数据库URL、用户名和密码。 4. **Java代码实现**: - 创建Service...

    ibatis实现增删查改例子

    在"ibatis实现增删查改的例子"中,你需要的两个jar文件很可能是iBatis的核心库,包含`ibatis-3.x.x.jar`和可能的数据库驱动包,如`mysql-connector-java.jar`。导入这些依赖到MyEclipse项目后,就可以开始设置项目了...

    ibatis经典示例

    然后,通过SqlSessionFactory创建SqlSession实例: ```java SqlSession session = sqlSessionFactory.openSession(); ``` 接下来,使用Mapper接口进行数据库操作: ```java UserMapper mapper = session....

    ibatis教程中文版-详细实例

    这个教程的目的是帮助新手快速入门iBatis,通过一系列详细实例,了解如何配置和使用iBatis进行数据读取、插入和删除操作。 首先,我们要理解iBatis是如何工作的。在iBatis中,数据库操作通常是通过XML配置文件(如...

    struts2+spring+ibatis

    4. **配置文件**:Struts2的配置文件定义了Action与结果视图的映射,Spring的配置文件用于管理Bean的实例化和依赖注入,iBatis的配置文件则定义了SQL映射。 5. **视图层**:可能使用JSP或FreeMarker等技术来呈现用户...

    Ibatis例子研究

    在"Ibatis例子研究"这个主题中,我们可以深入探讨以下几个关键知识点: 1. **配置文件**:Ibatis的核心配置文件(mybatis-config.xml)是整个框架的起点,它包含了数据库连接信息、事务管理器设置、类型别名等全局...

    完整的ibatis例子,可直接运行

    总的来说,这个完整的Ibatis例子涵盖了从配置、接口定义、SQL映射到实际操作的全过程,是学习和实践Ibatis的宝贵资源。通过研究和运行这个项目,你将能够熟练掌握Ibatis的用法,提升你的Java持久层开发技能。

Global site tag (gtag.js) - Google Analytics