IBatis二:如何配置ibatis+增删查改操作
上一篇讲了如何配置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一下。记得刷新。
然后后台也输出了查询到的用户:
到这里查询和增加已经完成,下节课让我们一起完成删除和修改
拭目以待,共同成长吧。