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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java-web的mybatis的学习

發布時間:2023/12/10 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java-web的mybatis的学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?idea開發必須是把Mapper文件與配置文件放到Resources標記的classpath目錄下,eclips好像放到哪都行指定好路徑就可以了,

maven里面做好配置resources的路徑,不然更新依賴 ?工程結構標記又沒了

<build>
<resources>
<resource>
<directory>src/main/java/Resources</directory>
</resource>
</resources>
</build>

1.原生使用sqlsessionFcatory去做數據庫操作,很麻煩

@Testpublic void qeryByNameTest() throws IOException {//加載核心配置文件InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");//創造sqlsessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession = sqlSessionFactory.openSession();List<User> list= sqlSession.selectList("user.queryByName","王五");for (User u:list){System.out.println(u.toString());}

2.使用mapper動態代理由mybatis根據你的 mapper類的接口名與映射文件里面的id名一致,指明了namespace的是哪個mapper類即可

public interface UserMapper {//遵循四個原則//接口 方法名 == User.xml 中 id 名//返回值類型 與 Mapper.xml文件中返回值類型要一致//方法的入參類型 與Mapper.xml中入參的類型要一致//命名空間 綁定此接口public User queryById(Integer id); }@Testpublic void userMapperTest(){InputStream inputStream = null;{try {inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");} catch (IOException e) {e.printStackTrace();}}//創造sqlsessionFactorySqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);SqlSession sqlSession= sqlSessionFactory.openSession();UserMapper userMapper=sqlSession.getMapper(UserMapper.class);User user= userMapper.queryById(10);System.out.println(user); }

?

?SqlMapConfig.xml
<?
xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><!-- 是用resource屬性加載外部配置文件 比如jdbc信息,公共常量配置信息--><properties resource="jdbc.properties"></properties> <!--配置別名 方便開發中的 (多半的返回值與參數值是實體類)使用簡單的縮寫類名,而不是全路徑 在就可以使用設置的別名了 別名大小寫不敏感--><typeAliases><!--<typeAlias type="com.web.mybatis.pojo.User " alias="User"></typeAlias>--><!--掃描此包 及子包下所有的類文件--><package name="com.web.mybatis.pojo" ></package></typeAliases><!-- 和spring整合后 environments配置將廢除 --><environments default="development"><environment id="development"><!-- 使用jdbc事務管理 可配置數據庫連接池或者 使用上面properties里面的信息${username}--><transactionManager type="JDBC" /><!-- 數據庫連接池 --><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver" /><property name="url"value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" /><property name="username" value="root" /><property name="password" value="123456" /></dataSource></environment></environments> <!--告訴你的sql mapper文件在哪 這個sqlMapConfig做統一管理--> <mappers><!--注冊指定包下的所有mapper接口 使用iDEA要在resources目錄下去存放mapper文件--><mapper resource="Mapper/UserMapper.xml" ></mapper><!--如:<package name="cn.web.mybatis.mapper"/>--> <!--注意: 此種方法要求mapper接口名稱和mapper映射文件名稱相同,且放在同一個目錄中。&ndash;&gt;--> </mappers></configuration>




UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--mapper文件就是寫sql語句的,mybatis只需要程序員關注sql語句本身--> <!-- namespace:命名空間,用于隔離sql,還有一個很重要的作用,后面會講 比如queryById在兩個mapper xml都有這個id,為了區分使用namespace --> <mapper namespace="com.web.mybatis.mapper.UserMapper"><select id="queryById" parameterType="Integer" resultType="User">select * from user where id=#{v} </select><!-- //根據用戶名稱模糊查詢用戶列表#{} select * from user where id = ? 占位符 ? == '五'${} select * from user where username like '%五%' 字符串拼接 --><!--&#45;&#45; select * from `user` where username like #{name}--><select id="queryByName" parameterType="String" resultType="user">select * from `user` where username like '%${value}%'</select><!-- 保存用戶 --><!-- selectKey 標簽實現主鍵返回 --><!-- keyColumn:主鍵對應的表中的哪一列 --><!-- keyProperty:主鍵對應的pojo中的哪一個屬性 --><!-- order:設置在執行insert語句前執行查詢id的sql,孩紙在執行insert語句之后執行查詢id的sql --><!-- resultType:設置返回的id的類型 --><insert id="saveUser" parameterType="user"><selectKey keyColumn="id" keyProperty="id" resultType="Int" order="AFTER">SELECT LAST_INSERT_ID()</selectKey>INSERT INTO `user`(username,birthday,sex,address) VALUES(#{username},#{birthday},#{sex},#{address})</insert><update id="updateUserById" parameterType="user">UPDATE `user` SETusername = #{username} WHERE id = #{id}</update><!-- 刪除用戶 --><delete id="deleteUserById" parameterType="int">delete from user whereid=#{id}</delete> </mapper>

?

?

?

?

?

轉載于:https://www.cnblogs.com/hejunhong/p/10341999.html

總結

以上是生活随笔為你收集整理的java-web的mybatis的学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。