mybatis實驗(一)——對資料庫進行簡單的增、刪、改、查
阿新 • • 發佈:2018-12-14
- 新建動態web工程,在src下建立Configuration.xml
- 複製mybatis框架所需的架包,到WEB-INF\lib目錄下
- 配置Configuration.xml,設定mybatis的資料來源的基礎配置。初始配置程式碼如下:
<?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> <typeAliases> <typeAlias /> </typeAliases> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=utf-8" /> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <mappers> </mappers> </configuration>
4.在src目錄下建立“zz.mapping”包,該包用於儲存javabean類的對映檔案,在該保中建立“userMapping.xml”,檔案初始配置程式碼如下:
<?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="">
</mapper>
5.建立資料庫(mybatis),並建立user資料庫表,並新增幾條資料。該表結構如下:
6.在src目錄下建立“zz.domian”包,該包用於儲存user資料庫的表的實體。在該包中建立User類,該類的屬性對應user資料庫表的欄位。程式碼如下:
7. package swu.zz.domian; 8. 9. public class User { 10. private int id; 11. private String userName; 12. private int userAge; 13. private String userAddress; 14. 15. public int getId() { 16. return id; 17. } 18. public void setId(int id) { 19. this.id = id; 20. } 21. public String getUserName() { 22. return userName; 23. } 24. public void setUserName(String userName) { 25. this.userName = userName; 26. } 27. public int getUserAge() { 28. return userAge; 29. } 30. public void setUserAge(int userAge) { 31. this.userAge = userAge; 32. } 33. public String getUserAddress() { 34. return userAddress; 35. } 36. public void setUserAddress(String userAddress) { 37. this.userAddress = userAddress; 38. } 39. @Override 40. public String toString() { 41. return "User [id=" + id + ", userName=" + userName + ", userAge=" 42. + userAge + ", userAddress=" + userAddress + "]"; 43. } 44. public User() { 45. super(); 46. } 47. 48. 49. 50. }
7.在userMapping中定義4個方法,分別對應資料的增刪改查。其程式碼如下:
<?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="swu.zz.mapping.userMapping">
<!--獲取資料-->
<select id="getAllUser" resultType="swu.zz.domian.User">
select * from user;
</select>
<!--增加資料-->
<insert id="addUser" parameterType="swu.zz.domian.User">
insert into user(userName,userAge,userAddress) values(#{userName},#{userAge},#{userAddress});
</insert>
<!--刪除資料-->
<delete id="deleUser">
delete from user where id=#{id};
</delete>
<!--修改資料-->
<update id="updateUser" parameterType="swu.zz.domian.User" >
Update user
SET
username = #{userName},
userage = #{userAge},
useraddress = #{userAddress}
WHERE id = #{id}
</update>
<!--按id查詢-->
<select id="getUser" resultType="swu.zz.domian.User" parameterType="int">
select * from user where id=#{id};
</select>
</mapper>
8.在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>
<!--定義別名-->
<typeAliases>
<typeAlias alias="User" type="swu.zz.domian.User" />
</typeAliases>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis?useUnicode=true&characterEncoding=utf-8" />
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<!--註冊對映檔案-->
<mappers>
<mapper resource="swu/zz/mapping/userMapping.xml"/>
</mappers>
</configuration>
9.在src下建立“zz.test”包,在包內新增“Test”類,用來測試、執行xml檔案,程式碼如下:
package swu.zz.test;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import swu.zz.domian.User;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String rs = "Configuration.xml";
//載入配置檔案
InputStream is = Test.class.getClassLoader().getResourceAsStream(rs);
//構建mybatis的工廠
SqlSessionFactory sessionfactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionfactory.openSession();
/*輸出資料庫中的資料*/
String str1 = "swu.zz.mapping.userMapping.getAllUser";
List<User> myuser=session.selectList(str1);
for(User user:myuser){
System.out.println(user);
}
/*向資料庫增加資料*/
String str3 = "swu.zz.mapping.userMapping.addUser";
User user3 =new User();
user3.setUserName("wang");
int s = session.insert(str3, user3);
session.commit()
/*刪除資料庫中的資料*/
String str4 = "swu.zz.mapping.userMapping.deleUser";
int count = session.delete(str4, 2);
session.commit();
/*修改資料*/
String str5 = "swu.zz.mapping.userMapping.updateUser";
User user5 = new User();
user5.setId(5);
user5.setUserName("kk");
user5.setUserAge(23);
user5.setUserAddress("北京");
int c = session.update(str5, user5);
session.commit();
/*按id號來查詢資料*/
String str2 = "swu.zz.mapping.userMapping.getUser";
User user1=session.selectOne(str2, 1);
System.out.println(user1);
}
}