mybatis实现增删改查_动力节点Java学院整理
程序员文章站
2024-02-25 15:29:27
所需要用到的其他工具或技术:
项目管理工具 : maven
测试运行工具 : junit
数据库 : derby
maven dependencies:...
所需要用到的其他工具或技术:
项目管理工具 : maven
测试运行工具 : junit
数据库 : derby
maven dependencies:
<dependencies> <dependency> <groupid>org.mybatis</groupid> <artifactid>mybatis</artifactid> <version>3.2.7</version> </dependency> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.9</version> <scope>test</scope> </dependency> <dependency> <groupid>org.apache.derby</groupid> <artifactid>derby</artifactid> <version>10.10.2.0</version> </dependency> <dependency> <groupid>org.apache.derby</groupid> <artifactid>derbyclient</artifactid> <version>10.10.2.0</version> </dependency> </dependencies>
sql 建表及数据插入(沿用前两节中的数据库表及数据):
create table user_test_tb( id int primary key, username varchar(20) not null, password varchar(20) not null, nickname varchar(20) not null ); insert into user_test_tb values(1,'1st','111','jack'); insert into user_test_tb values(2,'2nd','222','rose'); insert into user_test_tb values(3,'3rd','333','will');
mybatis配置文件 src/main/resource源目录下
test-mybatis-configuration.xml
<?xml version="1.0" encoding="utf-8" ?> <!doctype configuration public "-//mybatis.org//dtd config 3.0//en" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <properties> <property name="driver" value="org.apache.derby.jdbc.clientdriver" /> <property name="url" value="jdbc:derby://localhost:1527/bjpowernode;create=true" /> </properties> <environments default="development"> <environment id="development"> <transactionmanager type="jdbc" /> <datasource type="pooled"> <property name="driver" value="${driver}" /> <property name="url" value="${url}" /> </datasource> </environment> </environments> <mappers> <mapper resource="com/bjpowernode/practice/usermapper.xml" / </mappers> </configuration>
user.java对象类(src/main/java/com/bjpowernode/practice目录下)
package com.bjpowernode.practice; public class user { private integer id; private string username; private string password; private string nickname; public integer getid() { return id; } public void setid(integer 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; } public string getnickname() { return nickname; } public void setnickname(string nickname) { this.nickname = nickname; } }
usermapper.xml mapper文件(src/main/java/com.bjpowernode.practice目录下)
<?xml version="1.0" encoding="utf-8" ?> <!doctype mapper public "-//mybatis.org//dtd mapper 3.0//en" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.bjpowernode.practice.usermapper"> <!-- 查询 --> <select id="getuser" resulttype="com.bjpowernode.practice.user"> select * from user_test_tb </select> <!-- 插入 --> <insert id="insertuser"> insert into user_test_tb values(#{id},#{username},#{password},#{nickname}) </insert> <!-- 更改 --> <update id="updateuser"> update user_test_tb set username = #{username}, password = #{password}, nickname = #{nickname} where id = #{id} </update> <!-- 删除 --> <delete id="deleteuser"> delete from user_test_tb where id=#{id} </delete> </mapper>
usermapper.java mapper类(src/main/java/com.bjpowernode.practice目录下)
package com.bjpowernode.practice; import java.util.list; public interface usermapper { public list<user> getuser(); public void insertuser(user user); public void updateuser(user user); public void deleteuser(int userid); }
测试类testmybatis.java(src/test/java/com.bjpowernode.practice目录下)
package com.bjpowernode.practice; import java.io.inputstream; import java.text.messageformat; import java.util.list; import org.apache.ibatis.session.sqlsession; import org.apache.ibatis.session.sqlsessionfactory; import org.apache.ibatis.session.sqlsessionfactorybuilder; import org.junit.before; import org.junit.test; public class testmybatis { private string source; private inputstream inputstream; private sqlsessionfactory sqlsessionfactory; @before public void setup() { /** * 准备mybatis运行环境 */ source = "test-mybatis-configuration.xml"; inputstream = testmybatis.class.getclassloader().getresourceasstream(source); sqlsessionfactory = new sqlsessionfactorybuilder().build(inputstream); } @test public void testget() { try { // 获取session连接 sqlsession session = sqlsessionfactory.opensession(); // 获取mapper usermapper usermapper = session.getmapper(usermapper.class); // 显示user信息 system.out.println("test get start..."); this.printusers(usermapper.getuser()); system.out.println("test get finished..."); } catch (exception e) { e.printstacktrace(); } } @test public void testinsert() { try { // 获取session连接 sqlsession session = sqlsessionfactory.opensession(); // 获取mapper usermapper usermapper = session.getmapper(usermapper.class); system.out.println("test insert start..."); // 显示插入之前user信息 system.out.println("before insert"); this.printusers(usermapper.getuser()); // 执行插入 usermapper.insertuser(this.mockuser("freu_ins_user", "bjpowernode_ins_pass", "bjpowernode_ins_nick")); // 提交事务 session.commit(); // 显示插入之后user信息 system.out.println("\r\nafter insert"); this.printusers(usermapper.getuser()); system.out.println("test insert finished..."); } catch (exception e) { e.printstacktrace(); } } @test public void testupdate() { try { // 获取session连接 sqlsession session = sqlsessionfactory.opensession(); // 获取mapper usermapper usermapper = session.getmapper(usermapper.class); system.out.println("test update start..."); // 显示更新之前user信息 system.out.println("before update"); this.printusers(usermapper.getuser()); // 执行更新 usermapper.updateuser(this.mockuser("freu_upd_user", "bjpowernode_upd_pass", "bjpowernode_upd_nick")); // 提交事务 session.commit(); // 显示更新之后user信息 system.out.println("\r\nafter update"); this.printusers(usermapper.getuser()); system.out.println("test update finished..."); } catch (exception e) { e.printstacktrace(); } } @test public void testdelete() { try { // 获取session连接 sqlsession session = sqlsessionfactory.opensession(); // 获取mapper usermapper usermapper = session.getmapper(usermapper.class); system.out.println("test delete start..."); // 显示删除之前user信息 system.out.println("before delete"); this.printusers(usermapper.getuser()); // 执行删除 usermapper.deleteuser(this.mockuser(null, null, null).getid()); // 提交事务 session.commit(); // 显示删除之后user信息 system.out.println("\r\nafter delete"); this.printusers(usermapper.getuser()); system.out.println("test delete finished..."); } catch (exception e) { e.printstacktrace(); } } /** * * 组装一个user对象 * * @return */ public user mockuser(string username, string password, string nickname) { user user = new user(); user.setid(10); user.setusername(username); user.setpassword(password); user.setnickname(nickname); return user; } /** * * 打印用户信息到控制台 * * @param users */ private void printusers(final list<user> users) { int count = 0; for (user user : users) { system.out.println(messageformat.format("==user[{0}]=================", ++count)); system.out.println("user id: " + user.getid()); system.out.println("user username: " + user.getusername()); system.out.println("user password: " + user.getpassword()); system.out.println("user nickname: " + user.getnickname()); } } }
总结
以上所述是小编给大家介绍的mybatis实现增删改查_动力节点java学院整理,希望对大家有所帮助
上一篇: Spring数据访问模板化方法