`
xqf222
  • 浏览: 128973 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

第一个通过的ibatis操作mysql的实际例子

 
阅读更多

参考地址:http://kin111.blog.51cto.com/738881/168984/

步骤如下:
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 you're 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);
}

}
}

7,sql建表和测试数据user.sql

drop table user;
create table `db`.`User`(
`id` int,
`name` VARCHAR(50) ,
`birthday` date,
`money` float
);

--填充数据
insert user(id,name,birthday,money) values (1,'zhangsha','1985-01-01',50.0);
insert user(id,name,birthday,money) values (1,'lisi','2009-06-20',470.0);
insert user(id,name,birthday,money) values (1,'shenqi','2009-06-20',500.0);
insert user(id,name,birthday,money) values (1,'gaojiu','2009-06-20',1000.0);
insert user(id,name,birthday,money) values (1,'gaojiu','2009-06-20',500.0);
--查询结果
select * from user;

分享到:
评论

相关推荐

    第一个ibatis例子

    这个"第一个ibatis例子"是一个典型的入门教程,旨在帮助初学者快速理解并掌握Ibatis的基本用法。 首先,Ibatis的核心组件包括XML配置文件、SqlMapConfig.xml、Mapper接口以及Mapper XML文件。在入门例子中,我们...

    ibatis 第一个helloWorld

    在这个“ibatis 第一个helloWorld”项目中,我们将学习如何使用Ibatis进行基本的数据操作。 首先,数据库选用的是MySQL,这是一个广泛使用的开源关系型数据库管理系统,具有高效、稳定和易于管理的特点。在Ibatis中...

    最简单的iBatis入门例子

    基于给定的文件信息,我们将深入探讨iBatis这一对象关系映射(Object Relational Mapping,简称ORM)框架的基础知识,以及如何通过一个简单的入门示例来理解和掌握iBatis的基本使用方法。 ### iBatis简介 iBatis是...

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

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

    Ibatis简易教程

    在iBatis的简易教程中,我们将通过三个例子来逐步理解如何配置和使用iBatis。首先,我们需要创建数据库和对应的表。在本例中,我们使用MySQL 5.0,并创建了一个名为`contact`的表,包含`contactid`、`firstName`、`...

    数据库--Ibatis教程

    第二个例子会教你如何通过Ibatis向数据库添加新数据。这通常涉及到`insert`标签的使用,你需要定义一个插入记录的SQL语句,并提供相应的Java方法来执行。 第三个例子则涉及删除数据,这将使用`delete`标签,同样...

    iBATIS SQL Maps指导

    例如,在分析业务逻辑时,识别业务对象和数据模型之间的关系是设计的第一步。在给出的例子中,`Person`类作为一个简单的JavaBean,代表了业务对象,而相应的数据库表`PERSON`则存储了这些对象的数据。 在映射`...

    ibatis教程中文版-详细实例

    在第一个实例中,我们将展示如何从数据库中读取记录。这通常涉及到以下步骤: 1. 加载SqlMapConfig.xml配置文件,初始化SqlSessionFactory。 2. 使用SqlSessionFactory创建SqlSession实例。 3. 在映射文件`Contact....

    IBatis入门教程

    搭建iBatis开发环境是使用这个框架的第一步,通常涉及以下步骤: 1. **导入依赖**:首先需要将必要的jar包引入到项目中,包括iBatis的核心库(如ibatis-2.3.0.677.jar)以及相应的数据库驱动,例如对于MySQL,需要...

    mybatis-mysql数据库生成mybatis相关文件xml、mapper、bean

    7. **Ibatis到MyBatis的演变**:Ibatis是MyBatis的前身,是一个基于Java的持久层框架,后来演变成MyBatis,增加了更多高级功能和优化,比如动态SQL、注解支持等。 8. **运行脚本**:`run.bat`文件是批处理脚本,...

    mybatis 第一个demo含数据库脚本

    以上就是MyBatis的第一个Demo的基本步骤,通过这个过程,你将掌握MyBatis如何连接数据库、执行SQL、处理结果对象等核心概念。继续深入学习,你还可以了解动态SQL、缓存、事务管理等更多高级特性。

    springmybatis

    恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。 整个工程目录结构如下: 除非申明,文章均为一号门原创,转载请注明本文地址,谢谢! mybatis实战教程(mybatis in action)之二:以...

    mybatis笔记.md

    ### 第一个 MyBatis 程序 #### 2.1 MyBatis 与 JDBC 差别 - **代码量**:与原生 JDBC 相比,MyBatis 减少了大量重复性的 JDBC 代码,如建立连接、执行 SQL、处理结果集等。 - **SQL 灵活性**:在 MyBatis 中,SQL ...

    狂神说Java-Mybatis学习笔记

    #### 三、第一个MyBatis程序的搭建与实现 ##### 3.1 搭建环境 为了开始使用MyBatis,首先需要搭建相应的开发环境。具体步骤包括: - **环境准备**:确保安装了JDK 8、MySQL 5.7.19、Maven 3.6.1及IDEA。 - **导入...

    JavaFX程序初次运行创建数据库并执行建表SQL详解

    首先,我们需要引入必要的库,如JavaFX、MySQL JDBC驱动以及可能的第三方库(如本例中的ibatis-common-2.jar),以便于处理数据库连接和SQL脚本执行。在JavaFX程序中,我们通常会创建一个独立的工具类或服务,专门...

    mybatis框架详解

    // 设置参数,第一个参数为 SQL 语句中参数的序号(从 1 开始),第二个参数为设置的参数值 preparedStatement.setString(1, "王五"); // 向数据库发出 SQL 执行查询,查询出结果集 resultSet = ...

Global site tag (gtag.js) - Google Analytics