温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何通过ibatis操作mysql

发布时间:2021-10-13 13:51:35 来源:亿速云 阅读:156 作者:柒染 栏目:数据库

本篇文章为大家展示了如何通过ibatis操作mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

步骤如下:
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"     
    "">

<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..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"     
    "">

<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);
        }
   &nbsp

上述内容就是如何通过ibatis操作mysql,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI