上一篇讲了如何配置Ibatis,这一篇就开始动真刀了
1.建立数据库表格,上节课我们已经建立好数据库了,现在来在Navicat建立表格,建立很简单,自己摸索就会了。
如下:
数据库名称:test
表格名称:t_user
这些数据在配置sqlmapconfig.xml里面会用到。
2.【配置sqlmapconfig】:
建立sqlMapConfig.xml 这个你随便放在哪个文件夹下,直接放在class那里也可以,如果想好管理也可以单独建一个fold,文件夹。
这个配置主要是配置url地址,以及登录数据库账号密码的。
<?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>
<transactionManager type="JDBC" commitRequired="false">
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/test"/>
<property name="JDBC.Username" value="root"/>
<property name="JDBC.Password" value=""/>
</dataSource>
</transactionManager>
<sqlMap resource="ibatis/sqlMap.xml"/>
</sqlMapConfig>
大家复制粘贴的时候主要有几个地方改,首先显示URL value地址,改成自己的,后面的test我上面提到过了你的数据库名称。
下面的登录名和密码,改成自己的。
【注意】:放xml配置文件的文件夹,需右键设置成,--add to resource folder,如果没有设置,运行法出现
can't find the resource sqlmap.xml
3.【配置】sqlMap.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>
<!-- Use type aliases to avoid typing the full classname every time. -->
<typeAlias alias="User" type="ibatis.User"/>
<!-- Select with no parameters using the result map for Account class. -->
<select id="selectAllUsers" resultClass="User">
select * from t_user
</select>
<select id="selectUser" resultClass="User" parameterClass="int">
select * from t_user where id=#id#
</select>
<insert id="insertUser" parameterClass="User">
insert into t_user values (
5,#username#,#password#
)
</insert>
<update id="updateUser" parameterClass="User">
update t_user set username = #username#,password=#password#
where id=#id#
</update>
<delete id="deleteUser" parameterClass="int">
delete from t_user where id=#id#
</delete>
</sqlMap>
需要改的地方:<typeAlias alias="User" type="ibatis.User"/> 这个是为了写好User类的路径,接下来都可以用短名称,不需要写长长的路径,还要改的地方是 from t_user from后面 改成你自己的表格名称。
4.创建User类,实现接口
package ibatis;
public class User {
private int id;
private String username;
private String password;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
5.测试类
package ibatis;
import java.io.Reader;
import java.util.Iterator;
import java.util.List;
import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
public class UserTest {
public static void main(String[] args) throws Exception{
//从配置文件中得到SqlMapClient对象
Reader reader = Resources.getResourceAsReader("sqlMapConfig.xml");
SqlMapClient sqlMapper = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
//创建用户数据
for(int i=0; i<10; i++){
User user = new User();
user.setUsername("terry"+i);
user.setPassword("rola"+i);
sqlMapper.insert("insertUser", user);
}
//查询用户数据
List users = sqlMapper.queryForList("selectAllUsers");
for (Iterator iter = users.iterator(); iter.hasNext();) {
User user = (User) iter.next();
System.out.println(user.getUsername());
}
}
}
我们这里做到了增加的功能,注意一点,xml文件很容易出现格式问题,复制粘贴过去时候记得顶格不要空格要不会报错。我基本把我遇到的问题都放在这里注意点了,毕竟也是弄了一下午才成功的。
6.运行
查看table表格已经增加了我们增加的数据,如果发现没有报错,且表格没有增加,那么重新打开表格或者refresh一下。记得刷新。
然后后台也输出了查询到的用户:
到这里查询和增加已经完成,下节课让我们一起完成删除和修改
拭目以待,共同成长吧。