學而不思則罔,思而不學則殆。 mybatis 增刪改查,用到了MyEclipse中自帶的Junit4做單元測試,沒啥難度,作為練習。關於jar包和目錄結構請參考上一篇,這裡直接上代碼。 下一篇會寫關於配置文件優化,聯合查詢,以及使用註解的方式,客官們不要著急! ...
學而不思則罔,思而不學則殆。
mybatis 增刪改查,用到了MyEclipse中自帶的Junit4做單元測試,沒啥難度,作為練習。關於jar包和目錄結構請參考上一篇,這裡直接上代碼。
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-config.dtd"> 4 <configuration> 5 <environments default="development"> 6 <environment id="development"> 7 <transactionManager type="JDBC" /> 8 <!-- 配置數據源 相當於JDBC連接資料庫 9 Class.forName("oracle.jdbc.driver.OracleDriver"); 10 String user = "scott"; 11 String password = "tiger"; 12 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; 13 --> 14 <dataSource type="POOLED"> 15 <property name="driver" value="oracle.jdbc.driver.OracleDriver"/> 16 <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/> 17 <property name="username" value="scott" /> 18 <property name="password" value="tiger" /> 19 </dataSource> 20 </environment> 21 </environments> 22 <!-- 讀取Mapper包下的UserinfoMapper.xml文件 --> 23 <mappers> 24 <mapper resource="Mapper/UserinfoMapper.xml" /> 25 </mappers> 26 </configuration>
1 package TEST; 2 3 4 import java.io.IOException; 5 import java.io.InputStream; 6 7 import org.apache.ibatis.io.Resources; 8 import org.apache.ibatis.session.SqlSession; 9 import org.apache.ibatis.session.SqlSessionFactory; 10 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 11 import org.junit.Test; 12 13 import bean.Userinfo; 14 15 16 public class Demo { 17 18 19 //根據ID查詢用戶 20 @Test 21 public void findbyuserinfoID() throws Throwable{ 22 23 // TODO Auto-generated method stub 24 25 // 載入Mybatis的主配置文件 26 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); 27 28 // 創建生產session的工廠類 session不是作用域 -- 相當於connection 29 SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder(); 30 SqlSessionFactory ssf = sfb.build(is); 31 // 打開session 32 SqlSession session=ssf.openSession(); 33 //執行sql語句 34 35 String name=session.selectOne("UserinfoMapper.getuser", 3); 36 System.out.println("name:"+ name); 37 session.close(); 38 System.out.println("over"); 39 40 } 41 42 //添加用戶 43 @Test 44 public void insertuserinfo() throws Throwable{ 45 46 System.out.println("添加用戶"); 47 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); 48 49 // 創建生產session的工廠類 session不是作用域 -- 相當於connection 50 SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder(); 51 SqlSessionFactory ssf = sfb.build(is); 52 // 打開session 53 SqlSession session=ssf.openSession(); 54 //執行sql語句 55 int result=session.delete("UserinfoMapper.deleteuser", 3); 56 //String name=session.selectOne("UserinfoMapper.deleteUser", 1); 57 System.out.println("result:"+ result); 58 //如果刪除沒有成功,可能是因為沒有提交事務 一定要註意 59 session.commit(); 60 session.close(); 61 } 62 63 //刪除用戶 64 @Test 65 66 public void deleteuserinfoid() throws Throwable{ 67 System.out.println("刪除用戶"); 68 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); 69 70 // 創建生產session的工廠類 session不是作用域 -- 相當於connection 71 SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder(); 72 SqlSessionFactory ssf = sfb.build(is); 73 // 打開session 74 SqlSession session=ssf.openSession(); 75 //執行sql語句 76 // int result=session.delete("UserinfoMapper.deleteuser", 3); 77 Userinfo u = new Userinfo(); 78 u.setUname("文刀山豆幾"); 79 u.setUpass("123"); 80 u.setId(5); 81 82 int Statement = session.insert("UserinfoMapper.adduser", u); 83 //String name=session.selectOne("UserinfoMapper.deleteUser", 1); 84 System.out.println("result:"+ Statement); 85 //如果刪除沒有成功,可能是因為沒有提交事務 一定要註意 86 session.commit(); 87 session.close(); 88 } 89 //修改用戶 90 @Test 91 public void updateuserinfo() throws Throwable{ 92 93 System.out.println("修改用戶"); 94 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); 95 96 // 創建生產session的工廠類 session不是作用域 -- 相當於connection 97 SqlSessionFactoryBuilder sfb = new SqlSessionFactoryBuilder(); 98 SqlSessionFactory ssf = sfb.build(is); 99 // 打開session 100 SqlSession session=ssf.openSession(); 101 //執行sql語句 102 // int result=session.delete("UserinfoMapper.deleteuser", 3); 103 104 Userinfo user = new Userinfo(); 105 user.setId(1); 106 user.setUname("aaaaa"); 107 user.setUpass("fff"); 108 System.out.println("aaa"); 109 int a = session.update("UserinfoMapper.updateuser",user); 110 111 //String name=session.selectOne("UserinfoMapper.deleteUser", 1); 112 System.out.println("a:"+ a); 113 //如果刪除沒有成功,可能是因為沒有提交事務 一定要註意 114 session.commit(); 115 session.close(); 116 } 117 118 }
下一篇會寫關於配置文件優化,聯合查詢,以及使用註解的方式,客官們不要著急!