如何通过ibatis操作mysql

60次阅读
没有评论

共计 3476 个字符,预计需要花费 9 分钟才能阅读完成。

本篇文章为大家展示了如何通过 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 result >  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,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-28发表,共计3476字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)