1.从数据库显示所有的数据
来源:互联网 发布:pgis和js 编辑:程序博客网 时间:2024/04/29 20:42
iBatis是像Hibernate, JDO和EJB一样的数据持久框架,它将对象映射为SQL语句.它是个轻量级的框架并且持久性API适合持久化POJO.iBatis也与Hibernate, JDO不同,因为它使用存储过程和现有的SQL来处理数据库. 本节我们将向你讲述如何配置iBatis来运行一个小型程序.既然一次性将所有知识全部解释很难,我们索性把本教程分为几个单独的例子来陈述.该例是关于如何从数据库读取数据并将结果显示在你的命令提示符上.在第二个例子中你将会到如何添加更多的数据到数据库中,在此之后的第三个例子将会向你展示如何通过iBatis从记录中删除数据. 现在的第一个例子将会向你展示如何从数据库中读取记录,我们需要一个数据库来执行查询,所以我们使用MySQL5.0作为这个例子的数据库. 这里我们将要检索一些人的contact的信息, contact的表结构给出如下 : 根据Contact表我们需要创建一个POJO类,在我们的例子中,数据库vin有一个表Contact,包括四个字段 : Contact.java 为了映射配置我们需要创建SqlMapConfig.xml来指定如下信息 : 针对映射语句的命名空间前缀 我们的数据库将使用JDBC来进行访问 针对MySQL的JDBC驱动为" com.mysql.jdbc.Driver" 连接URL为"jdbc:mysql://192.168.10.112:3306/vin" 用户名与密码分别为"root"和"root" 我们的SQL语句描述在"Contact.xml" SqlMapConfig.xml 映射文件在下面给出,它主要为我们的程序负责执行SQL查询. Contact.xml的代码如下 : 现在为了显示数据库中的数据我们需要创建一个类----IbatisExample,它从SqlMapConfig.xml中读取配置并在你的控制台输出所有数据. IbatisExample.java的代码如下 : 为了运行该例,你需要遵循如下步骤 : 在你的MySQL数据库中创建表Contact 下载iBatis的JAR文件(ibatis-common-2.jar,ibatis-dao-2.jar,ibatis-sqlmap-2.jar),并将其放置在你的lib目录中 设置类路径 创建Contact.java将其编译 创建Contact.java 创建SqlMapConfig.xml 创建IbatisExample.java并将其编译 执行IbatisExample文件 输出 : 你的命令提示符应该有像这样的输出 : DROP TABLE IF EXISTS `contact`;
CREATE TABLE `contact` (
`id` int(11) NOT NULL auto_increment,
`firstName` varchar(20) default NULL,
`lastName` varchar(20) default NULL,
`email` varchar(20) default NULL,
PRIMARY KEY (`id`)
);
public class Contact {
private String firstName;
private String lastName;
private String email;
private int id;
public Contact() {}
public Contact(
String firstName,
String lastName,
String email) {
this.firstName = firstName;
this.lastName = lastName;
this.email = email;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
<?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>
<settings useStatementNamespaces="true"/>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL"
value="jdbc:mysql://192.168.10.112:3306/vin"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value="root"/>
</dataSource>
</transactionManager>
<sqlMap resource="Contact.xml"/>
</sqlMapConfig>
<?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="Contact">
<!--- Showing all data of table -->
<select id="getAll" resultClass="Contact">
select * from contact
</select>
</sqlMap>
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class IbatisExample{
public static void main(String[] args)
throws IOException,SQLException{
Reader reader = Resources.getResourceAsReader("SqlMapConfig.xml");
SqlMapClient sqlMap =
SqlMapClientBuilder.buildSqlMapClient(reader);
//Output all contacts
System.out.println("All Contacts");
List<Contact> contacts = (List<Contact>)
sqlMap.queryForList("Contact.getAll",null);
Contact contact = null;
for (Contact c : contacts) {
System.out.print(" " + c.getId());
System.out.print(" " + c.getFirstName());
System.out.print(" " + c.getLastName());
System.out.print(" " + c.getEmail());
contact = c;
System.out.println("");
}
}
}
- 1.从数据库显示所有的数据
- 1.从数据库显示所有的数据
- php新闻发布系统发布成功从数据库查询所有数据用表格显示出来03
- flex显示数据库表中的所有数据
- mysql 显示所有的数据库
- mysql 显示所有的数据库
- select从数据库取出数据并显示
- 导出从数据库中查询到的所有的数据到Excel中
- 导出从数据库中查询到的所有的数据到Excel中
- 删除SQLite数据库库某表内所有数据,并且自增长的id从0开始
- 从文件夹目录下导入所有指定文件类型的数据内容到数据库表
- 删除SQLite数据库库某表内所有数据,并且自增长的id从0开始
- C++ 从数据库读取数据,将数据显示在界面上的TreeCtrl上
- mysql 显示所有的数据库 常用命令
- mysql显示某个数据库的所有表
- PHP显示POST过来的所有数据
- mysql显示所有数据库
- mysql显示所有数据库
- DB2 SQL0964C The transaction log for the database is full. SQLSTATE=57011 处理
- 数据库设计14个技巧
- java开源框架集成常见错误之No bean specified异常
- Quartz与Spring的集成【转】
- Hibernate知识点 002
- 1.从数据库显示所有的数据
- 马云与史玉柱经典语录
- Sql语句巧用 Like 关键字
- 修改linux环境变量的三种方法
- S60 通讯录开发 c++
- 几种不同形式的差量备份方法?
- USB过滤驱动,实现U盘只读控制
- ASP 中 Split 函数的实例
- C#正则表达式检测字符串(密码强度)