ibaits框架搭建,原来这么简单

1 准备工具

eclipse

jdk 免安装版

mysql数据库链接jar文件

ibaits  jar文件

mysql数据库

2 用eclipse创建一个java项目(ibaitsProject_001)

工程导入上面下载的两个jar文件。

3 src目录下新建一个xml文件(sql-map-config.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>
	<!-- 引用JDBC链接信息的配置文件 -->
	<properties resource="jdbc.properties"/>
	<!-- 使用JDBC的事务管理 -->
	<transactionManager type="JDBC">
		<!-- 数据源 -->
		<dataSource type="SIMPLE">
			<property name="JDBC.Driver" value="${driver}"/>
			<property name="JDBC.ConnectionURL" value="${url}"/>
			<property name="JDBC.Username" value="${username}"/>
			<property name="JDBC.Password" value="${password}"/>
		</dataSource>
	</transactionManager>
	<!-- 这里可以写多个实体的映射文件 -->
	<sqlMap resource="com/soft/entity/Student.xml"/>
</sqlMapConfig>
4 创建一个properties文件,里面放数据库连接信息跟第三步的目录同一位置

jdbc.properties

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/cshop
username=root
password=123456

5 创建一个entity文件,里面的属性值跟数据库的表的字段对应

package com.soft.entity;

public class StudentEntity {

	private int id;
	private String username;
	private String password;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}

6 同目录下(entity同包) 创建表对应关系的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>
	<!-- 相当于一个这个配置文件中的全局变量,如果 -->
	<typeAlias alias="student" type="com.soft.entity.StudentEntity"/>

	<!-- 查询sql -->
	<select id="selectList" resultClass="student">
		select * from student
	</select>
</sqlMap>

7 创建一个dao文件,里面有一个查询数据库的方法。注意 getResourceAsReader("sql-map-config.xml")里面的" sql-map-config.xml"和第三步的文件的名字相同

package com.soft.dao.impl;

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;
import com.soft.entity.StudentEntity;

public class StudentDaoImpl {

	// 
	private SqlMapClient sqlMapClient = null;
	
	/**
	 * 初始化这个类的时候,创建sqlMapClient实例,
	 */
	public StudentDaoImpl(){
		try{
			// 读取sql-map-config.xml信息
			Reader reader = Resources.getResourceAsReader("sql-map-config.xml");
			// 实例化 sqlMapClient
			sqlMapClient = SqlMapClientBuilder.buildSqlMapClient(reader);
		}catch(Exception e){
			e.printStackTrace();
		}
	}
	
	public List<StudentEntity> selectList(){
		// 接收查询结果集
		List<StudentEntity> stuList = null;
		try {
			// selectList跟Student.xml中的查询语句的某个id一致
			stuList = sqlMapClient.queryForList("selectList");
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return stuList;
	}
}

7 经过上面几步,东西已经弄好了,下面就来测试一下。

package com.soft.dao.impl;

import java.util.List;

import org.junit.Test;

import com.soft.entity.StudentEntity;

public class StudentDaoImplTest {

	@Test
	public void test() {
		StudentDaoImpl dao = new StudentDaoImpl();
		List<StudentEntity> list = dao.selectList();
		for (StudentEntity stu : list) {
			System.out.println(stu.getUsername());
			System.out.println(stu.getPassword());
		}
	}

}
测试结果



今天学习ibaits,搭了一下架子,原来这么简单。

由于mysql文件比较大,网络不好没有上传到网盘。

mysql相应的建表语句。

create database cshop;
use cshop;


CREATE TABLE `users` (
  `Id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(255) NOT NULL DEFAULT '',
  `password` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

INSERT INTO `users` VALUES (1,'xxx1','123456'),(2,'xxxx2','123456');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值