今天有空学习了一下IBATIS,感觉还不错,把学习的过程记录下来。
我使得是MyEclipse8.0+mysql做开发环境,项目的目录截图如下
核心代码:
public class IbatisClient {
public static void main(String[] args) throws Exception {
SqlMapClient sqlMap = MyAppSqlConfig.getSqlMapInstance();
IbatisClient ic=new IbatisClient();
// ic.insert(sqlMap);
// ic.update(sqlMap);
// ic.del(sqlMap);
ic.select(sqlMap);
}
public class MyAppSqlConfig {
private static SqlMapClient sqlMap=null;
public static SqlMapClient getSqlMapInstance(){
return sqlMap;
}
static {
try {
String resource="sqlMapConfig.xml";
Reader reader=Resources.getResourceAsReader(resource);
sqlMap=SqlMapClientBuilder.buildSqlMapClient(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap namespace="Person"></sqlMap>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<properties resource="jdbc.properties"/>
<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="dao/maps/person.xml" />
</sqlMapConfig>
这个核心的配置文件的头一定要注意了,在这费了我好大的时间,还有
<property name="JDBC.Username" value="${userName}"/> 那个JDBC.Username也不能改为其他的,
jdbc.properties
driver=com.mysql.jdbc.Driver
url=jdbc/:mysql/://localhost/:3306/test
userName=root
password=kong
数据库
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for person
-- ----------------------------
DROP TABLE IF EXISTS `person`;
CREATE TABLE `person` (
`per_id` int(20) NOT NULL AUTO_INCREMENT,
`per_firstName` varchar(40) DEFAULT NULL,
`per_lastName` varchar(40) DEFAULT NULL,
`per_birthDate` date DEFAULT NULL,
`per_weightK` double DEFAULT NULL,
`per_heightM` double DEFAULT NULL,
PRIMARY KEY (`per_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of person
-- ----------------------------
INSERT INTO `person` VALUES ('2', '第一个名字', '最后的名字', '2010-04-03', '150', '1705');
INSERT INTO `person` VALUES ('3', '王', '五', '2010-04-03', '75.00111', '180.65');
实体类:
public class Person implements Serializable {
private int id;
private String firstName;
private String lastName;
private Date birthDate;
private double weightK;
private double heightM;
// 下面是set get方法
}