日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

mybitis实现增,删,改,查,模糊查询的两种方式:(2)

發(fā)布時(shí)間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybitis实现增,删,改,查,模糊查询的两种方式:(2) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

方式二:mapper代理接口方式

這種方式只需要xml+接口(不用寫(xiě)實(shí)體類(lèi))但是需要符合三個(gè)規(guī)范

  • 使用mapper'代理接口方式
  • 在同一目錄下(可以創(chuàng)建一個(gè)源文件夾,達(dá)到類(lèi)文件和xml文件分類(lèi)的作用)
  • xml中namespace:命名空間為接口的全限定名(包名+類(lèi)名)
  • xml的文件名和接口的文件名相同,只是后綴名不同
  • 接口中的方法名和xml中sql的id相同

1.創(chuàng)建一個(gè)java工程

2.將mysql的jar,mybatis的jar添加到構(gòu)建路徑中

3.寫(xiě)好配置文件

4.連接到數(shù)據(jù)庫(kù)

5.寫(xiě)一個(gè)和數(shù)據(jù)庫(kù)表對(duì)應(yīng)的pojo類(lèi)(普通的java對(duì)象)

6.寫(xiě)一個(gè)接口

1 package impl; 2 3 import java.util.List; 4 5 import entity.Login; 6 7 public interface LoginImpl { 8 //方法名要與xml文件中的id的唯一標(biāo)識(shí)符相同 9 List<Login> selectAll(); 10 Login selectbyid(int id); 11 int insertone(Login lg); 12 int updateone(Login lg); 13 }

?

7.寫(xiě)對(duì)應(yīng)的xml文件

1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 3 "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > 4 5 <!-- namespace:命名空間, 用于隔離sql語(yǔ)句 --> 6 <mapper namespace="impl.LoginImpl"> 7 <!-- id是sql語(yǔ)句的唯一標(biāo)識(shí)符,名字要與 接口中的方法名相同 --> 8 9 <select id="selectAll" resultType="Login"> 10 select * from t_login 11 </select> 12 13 <select id="selectbyid" parameterType="int" resultType="Login"> 14 select *from t_login where id =#{id} 15 </select> 16 17 <insert id="insertone" parameterType="Login" > 18 19 insert into t_login (username,password) values(#{username},#{password}) 20 </insert> 21 22 <update id="updateone" parameterType="Login"> 23 update t_login set username=#{username},password=#{password} where id = #{id} 24 </update> 25 26 27 </mapper>

?

8.寫(xiě)測(cè)試類(lèi)

1 package test; 2 3 4 import java.io.InputStream; 5 import java.util.List; 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 12 import entity.Login; 13 import impl.LoginImpl; 14 15 public class Login_Test { 16 17 18 19 public static void main(String[] args) throws Exception { 20 // TODO 自動(dòng)生成的方法存根 21 //讀取配置文件 22 String resource = "main_config.xml"; 23 InputStream is = Resources.getResourceAsStream(resource); 24 //使用建造者Builder創(chuàng)建sqlsession工廠 25 SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is); 26 //打開(kāi)session 27 SqlSession sqlSession = sqlSessionFactory.openSession(); 28 System.out.println("數(shù)據(jù)庫(kù)已經(jīng)連接"+sqlSession); 29 //使用mapper代理的方式 30 LoginImpl loginImpl = sqlSession.getMapper(LoginImpl.class); 31 /** 32 * 查詢所有 33 * List<Login> list = sqlSession.selectList("selectAll"); 34 */ 35 List<Login> selectAll = loginImpl.selectAll(); 36 System.out.println("---------------查詢所有用戶------------"); 37 for (Login login2 : selectAll) { 38 System.out.println("用戶id="+login2.getId()+"\t\t用戶名="+login2.getUsername()+"\t用戶密碼="+login2.getPassword()); 39 } 40 41 /** 42 * 通過(guò)id查詢用戶 43 * Login login = sqlSession.selectOne("selectbyid", 3); 44 */ 45 System.out.println("-------------通過(guò)id查詢用戶---------------"); 46 Login selectbyid = loginImpl.selectbyid(3); 47 System.out.println("通過(guò)id查詢用戶"+selectbyid); 48 49 /** 50 * 插入一條數(shù)據(jù) 51 * insert = sqlSession.insert("insertone", login2); 52 */ 53 System.out.println("-------------插入一條數(shù)據(jù)-----------"); 54 Login login2 = new Login(); 55 login2.setUsername("xy"); 56 login2.setPassword("315364"); 57 int insertone = loginImpl.insertone(login2); 58 System.out.println("插入一條數(shù)據(jù)成功"+insertone); 59 60 /** 61 * 更新一條數(shù)據(jù) 62 * sqlSession.update("updateone", login3); 63 */ 64 System.out.println("--------------更新一條數(shù)據(jù)------------"); 65 Login login3 = new Login( 3, "333333","dhao"); 66 int updateone = loginImpl.updateone(login3); 67 System.out.println("更新一條數(shù)據(jù)成功"+updateone); 68 //提交數(shù)據(jù)到數(shù)據(jù)庫(kù) 69 sqlSession.commit(); 70 //關(guān)閉會(huì)話 71 sqlSession.close(); 72 73 74 75 76 77 } 78 79 }

?

9.項(xiàng)目的結(jié)構(gòu)

?

10.mybatis的主配置文件? 文件名:main_config.xml

?

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 <!-- 別名標(biāo)簽 --> 6 <!--把鼠標(biāo)移到configuration標(biāo)簽上面會(huì)出現(xiàn)以下信息:原因是因?yàn)橐肓薲td約束文件 Element : configuration 7 Copyright 2009-2016 the original author or authors. Licensed under the Apache License, Version 2.0 8 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy 9 of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or 10 agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, 11 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License 12 for the specific language governing permissions and limitations under the License. 13 14 Content Model : (properties?, settings?, typeAliases?, typeHandlers?, objectFactory?, 15 objectWrapperFactory?, reflectorFactory?, plugins?, environments?, databaseIdProvider?, mappers?) --> 16 17 <!-- 引入配置文件 屬性標(biāo)簽 --> 18 <properties resource="mapper/main_config.properties"></properties> 19 20 <!-- 別名 在單個(gè)配置文件中 寫(xiě)別名即可--> 21 <typeAliases> 22 <typeAlias type="entity.Login" alias="login"/> 23 <!-- 自動(dòng)生成包下面的所有類(lèi)的別名,別名就是類(lèi)名,并且首字母大小寫(xiě)都可以使用 --> 24 <package name="impl"/> 25 </typeAliases> 26 <!-- 使用哪個(gè)小環(huán)境 default就等于哪個(gè)小環(huán)境的id --> 27 <environments default="development"> 28 29 <environment id="development"> 30 <!-- jdbc事務(wù)管理 --> 31 <transactionManager type="JDBC"></transactionManager> 32 <!-- 數(shù)據(jù)庫(kù)連接池 --> 33 <dataSource type="POOLED"> 34 <property name="driver" value="${driver}"/> 35 <!-- localhost可以用127.0.0.1或者本機(jī)的ip地址表示 --> 36 <property name="url" value="${url}"/> 37 <property name="username" value="${username}"/> 38 <property name="password" value="${password}"></property> 39 </dataSource> 40 </environment> 41 42 <environment id="mysql"> 43 <!-- jdbc事務(wù)管理 --> 44 <transactionManager type="JDBC"></transactionManager> 45 <!-- 數(shù)據(jù)庫(kù)連接池 --> 46 <dataSource type="POOLED"> 47 <property name="driver" value="${driver}"/> 48 <!-- localhost可以用127.0.0.1或者本機(jī)的ip地址表示 --> 49 <property name="url" value="${url}"/> 50 <property name="username" value="${username}"/> 51 <property name="password" value="${password}"></property> 52 </dataSource> 53 </environment> 54 </environments> 55 56 <!-- 引入單個(gè)映射配置文件 *號(hào)表示0個(gè)或者多個(gè) --> 57 <mappers> 58 <mapper resource="mapper/login_mapper.xml"/> 59 <!-- <package name="impl"/> --> 60 </mappers> 61 </configuration>

?

11.主配置文件的屬性文件??

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/xyblogs/p/8947494.html

總結(jié)

以上是生活随笔為你收集整理的mybitis实现增,删,改,查,模糊查询的两种方式:(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。