当前位置:Gxlcms > 数据库问题 > 如何使用mybatis对mysql数据库进行操作,batis的增删改查

如何使用mybatis对mysql数据库进行操作,batis的增删改查

时间:2021-07-01 10:21:17 帮助过:11人阅读

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是为了在AppMapper.xml中不用每次写全App类的路径,而是用App代替 --> <typeAlias type="domain.App" alias="App" /> </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://222.201.145.215/nziotdb"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <mappers> <!-- 配置AppMapper.xml的路径 --> <mapper resource="mapperXml/AppMapper.xml" /> </mappers> </configuration>

其中里面配置了数据库服务器的地址,账号和密码,并且设置了映射文件mapperxml的路径

2.在domain下面建立实体类

  1. <span style="color: #0000ff">package</span><span style="color: #000000"> domain;
  2. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.io.Serializable;
  3. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> App <span style="color: #0000ff">implements</span><span style="color: #000000"> Serializable{
  4. </span><span style="color: #008000">/**</span><span style="color: #008000">
  5. *
  6. </span><span style="color: #008000">*/</span>
  7. <span style="color: #0000ff">private</span><span style="color: #000000"> String appId;
  8. </span><span style="color: #0000ff">private</span><span style="color: #000000"> String appDesc;
  9. </span><span style="color: #0000ff">private</span><span style="color: #000000"> String newestVersion;
  10. </span><span style="color: #0000ff">private</span><span style="color: #000000"> String newestVersionDesc;
  11. </span><span style="color: #0000ff">private</span><span style="color: #000000"> String url;
  12. </span><span style="color: #0000ff">private</span><span style="color: #000000"> String md5;
  13. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getAppId() {
  14. </span><span style="color: #0000ff">return</span><span style="color: #000000"> appId;
  15. }
  16. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setAppId(String appId) {
  17. </span><span style="color: #0000ff">this</span>.appId =<span style="color: #000000"> appId;
  18. }
  19. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getAppDesc() {
  20. </span><span style="color: #0000ff">return</span><span style="color: #000000"> appDesc;
  21. }
  22. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setAppDesc(String appDesc) {
  23. </span><span style="color: #0000ff">this</span>.appDesc =<span style="color: #000000"> appDesc;
  24. }
  25. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getNewestVersion() {
  26. </span><span style="color: #0000ff">return</span><span style="color: #000000"> newestVersion;
  27. }
  28. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setNewestVersion(String newestVersion) {
  29. </span><span style="color: #0000ff">this</span>.newestVersion =<span style="color: #000000"> newestVersion;
  30. }
  31. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getNewestVersionDesc() {
  32. </span><span style="color: #0000ff">return</span><span style="color: #000000"> newestVersionDesc;
  33. }
  34. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setNewestVersionDesc(String newestVersionDesc) {
  35. </span><span style="color: #0000ff">this</span>.newestVersionDesc =<span style="color: #000000"> newestVersionDesc;
  36. }
  37. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getUrl() {
  38. </span><span style="color: #0000ff">return</span><span style="color: #000000"> url;
  39. }
  40. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setUrl(String url) {
  41. </span><span style="color: #0000ff">this</span>.url =<span style="color: #000000"> url;
  42. }
  43. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String getMd5() {
  44. </span><span style="color: #0000ff">return</span><span style="color: #000000"> md5;
  45. }
  46. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> setMd5(String md5) {
  47. </span><span style="color: #0000ff">this</span>.md5 =<span style="color: #000000"> md5;
  48. }
  49. </span><span style="color: #0000ff">public</span><span style="color: #000000"> String toString() {
  50. </span><span style="color: #0000ff">return</span> "App [appId=" + appId + ", appDesc=" +<span style="color: #000000"> appDesc
  51. </span>+ ", newestVersion=" + newestVersion + ", newestVersionDesc="
  52. + newestVersionDesc + ", url=" + url + ", md5=" + md5 + "]"<span style="color: #000000">;
  53. }
  54. }</span>

这个类即代表一个表,类里面的变量可以直接设置为何表里面的字段一致,不一致就要在映射文件里面设置对应关系

3.在mapperXml下面写映射文件

  1. <span style="color: #0000ff"><?</span><span style="color: #ff00ff">xml version="1.0" encoding="UTF-8" </span><span style="color: #0000ff">?></span>
  2. <span style="color: #0000ff"><!</span><span style="color: #ff00ff">DOCTYPE mapper PUBLIC "-//mybatis.org/DTD Mapper 3.0" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"</span><span style="color: #0000ff">></span>
  3. <span style="color: #0000ff"><</span><span style="color: #800000">mapper </span><span style="color: #ff0000">namespace</span><span style="color: #0000ff">="mapper.AppMapper"</span><span style="color: #0000ff">></span>
  4. <span style="color: #0000ff"><</span><span style="color: #800000">resultMap </span><span style="color: #ff0000">type</span><span style="color: #0000ff">="App"</span><span style="color: #ff0000"> id</span><span style="color: #0000ff">="appResultMap"</span><span style="color: #0000ff">></span>
  5. <span style="color: #0000ff"><</span><span style="color: #800000">id </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="appId"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="app_id"</span> <span style="color: #0000ff">/></span>
  6. <span style="color: #0000ff"><</span><span style="color: #800000">result </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="appDesc"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="app_desc"</span> <span style="color: #0000ff">/></span>
  7. <span style="color: #0000ff"><</span><span style="color: #800000">result </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="newestVersion"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="newest_version"</span> <span style="color: #0000ff">/></span>
  8. <span style="color: #0000ff"><</span><span style="color: #800000">result </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="newestVersionDesc"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="newest_version_desc"</span> <span style="color: #0000ff">/></span>
  9. <span style="color: #0000ff"><</span><span style="color: #800000">result </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="url"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="url"</span> <span style="color: #0000ff">/></span>
  10. <span style="color: #0000ff"><</span><span style="color: #800000">result </span><span style="color: #ff0000">property</span><span style="color: #0000ff">="md5"</span><span style="color: #ff0000"> column</span><span style="color: #0000ff">="md5"</span> <span style="color: #0000ff">/></span>
  11. <span style="color: #0000ff"></</span><span style="color: #800000">resultMap</span><span style="color: #0000ff">></span>
  12. <span style="color: #008000"><!--</span><span style="color: #008000"> select语句 </span><span style="color: #008000">--></span>
  13. <span style="color: #0000ff"><</span><span style="color: #800000">select </span><span style="color: #ff0000">id</span><span style="color: #0000ff">="selectUserByID"</span><span style="color: #ff0000"> parameterType</span><span style="color: #0000ff">="int"</span><span style="color: #ff0000"> resultMap</span><span style="color: #0000ff">="appResultMap"</span><span style="color: #0000ff">></span><span style="color: #000000">
  14. select * from app_t where app_t.app_id = #{appId}
  15. </span><span style="color: #0000ff"></</span><span style="color: #800000">select</span><span style="color: #0000ff">></span>
  16. <span style="color: #0000ff"></</span><span style="color: #800000">mapper</span><span style="color: #0000ff">></span>

其中resultMap就设置了对应的关系,解决实体类的变量和数据库中字段不一致的问题

具体的sql语句也是在映射文件里面写,其中id代表的是对应的方法,parameterType就是传入变量的类型,resultMap就是返回的数据类型

4.在mapper下为每个实体类建立对应的接口,接口里面的方法和映射文件里面的id一一对应

  1. <span style="color: #0000ff">package</span><span style="color: #000000"> mapper;
  2. </span><span style="color: #0000ff">import</span><span style="color: #000000"> java.util.List;
  3. </span><span style="color: #0000ff">import</span><span style="color: #000000"> domain.App;
  4. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">interface</span><span style="color: #000000"> AppMapper {
  5. </span><span style="color: #0000ff">public</span> App selectUserByID(<span style="color: #0000ff">int</span><span style="color: #000000"> id);
  6. </span><span style="color: #0000ff">public</span> List<App><span style="color: #000000"> selectUsersByName(String userName);
  7. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> addUser(App user);
  8. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span><span style="color: #000000"> updateUser(App user);
  9. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> deleteUser(<span style="color: #0000ff">int</span><span style="color: #000000"> id);
  10. }</span>

5.编写数据库查询帮助类,用于返回数据库对象

  1. <span style="color: #0000ff">package</span><span style="color: #000000"> Deal;
  2. </span><span style="color: #0000ff">import</span><span style="color: #000000"> domain.App;
  3. </span><span style="color: #0000ff">import</span><span style="color: #000000"> mapper.AppMapper;
  4. </span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.ibatis.session.SqlSession;
  5. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span><span style="color: #000000"> Test{
  6. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> getUserByID(<span style="color: #0000ff">int</span><span style="color: #000000"> userID) {
  7. SqlSession session </span>=<span style="color: #000000"> SqlSessionHelper.getSessionFactory().openSession();
  8. </span><span style="color: #0000ff">try</span><span style="color: #000000"> {
  9. AppMapper userOperation </span>=<span style="color: #000000"> session
  10. .getMapper(AppMapper.</span><span style="color: #0000ff">class</span><span style="color: #000000">);
  11. App user </span>=<span style="color: #000000"> userOperation.selectUserByID(userID);
  12. </span><span style="color: #0000ff">if</span> (user != <span style="color: #0000ff">null</span><span style="color: #000000">) {
  13. System.out.println(user.getAppDesc());
  14. }
  15. } </span><span style="color: #0000ff">finally</span><span style="color: #000000"> {
  16. session.close();
  17. }
  18. }
  19. </span><span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span><span style="color: #000000"> main(String[] args) {
  20. </span><span style="color: #0000ff">try</span><span style="color: #000000"> {
  21. Test test </span>= <span style="color: #0000ff">new</span><span style="color: #000000"> Test();
  22. test.getUserByID(</span>1<span style="color: #000000">);
  23. } </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (Exception e) {
  24. System.out.println(e.getMessage());
  25. }
  26. }
  27. }</span>

数据库表如下,使用该教程之前需要先在数据库建立表

技术分享

查询的是app_id,对应的app_desc

运行test,得到的接口也是3

6.附上demo工程,不清楚的同学可以参考一下

链接: https://pan.baidu.com/s/1dFqVtSX 密码: jb7j

 

如何使用mybatis对mysql数据库进行操作,batis的增删改查

标签:sql语句   pom   java   except   class   文件   ppm   代码   div   

人气教程排行