真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

MyBatis使用注解開(kāi)發(fā)實(shí)現(xiàn)過(guò)程詳解

使用注解開(kāi)發(fā)

成都創(chuàng)新互聯(lián)成立與2013年,先為漢中等服務(wù)建站,漢中等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為漢中企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

1、面向接口編程

面向接口編程的根本原因:解耦,可擴(kuò)展,提高復(fù)用,分層開(kāi)發(fā)中、上層不用管具體的實(shí)現(xiàn),大家都遵守共同的標(biāo)準(zhǔn),使得開(kāi)發(fā)變得容易,規(guī)范性好

2、使用注解開(kāi)發(fā)

注解在接口上實(shí)現(xiàn)

@Select(value = "select * from user")
List getUsers();

需要在核心配置文件中綁定接口



  

測(cè)試

public class UserMapperTest {
  @Test
  public void test(){
    SqlSession sqlSession = MyBatisUtils.getSqlSession();
    //底層主要應(yīng)用反射
    UserMapper mapper = sqlSession.getMapper(UserMapper.class);
    List users = mapper.getUsers();
    for (User user : users) {
      System.out.println(user);
    }
    sqlSession.close();
  }
}

本質(zhì):反射機(jī)制實(shí)現(xiàn)

底層:動(dòng)態(tài)代理

3、CRUD

我們可以在工具類創(chuàng)建的時(shí)候?qū)崿F(xiàn)自動(dòng)提交事務(wù)

public static SqlSession getSqlSession(){
  return sqlSessionFactory.openSession(true);
}

編寫接口,增加注解

public interface UserMapper {
  @Select(value = "select * from user")
  List getUsers();

  //方法存在多個(gè)參數(shù),所有的參數(shù)前面必須加上@Param注解
  @Select("select * from user where id = #{id} or name = #{name}")
  User getUserByID(@Param("id")int id,@Param("name")String name);

  @Insert("insert into user(id,name,pwd) values (#{id},#{name},#{password})")
  int addUser(User user);

  @Update("update user set name = #{name},pwd = #{password} where id = #{id}")
  int updateUser(User user);

  @Delete("delete from user where id = #{uid}")
  int deleteUser(@Param("uid") int id);
}

測(cè)試類

【注意:我們必須要將接口注冊(cè)綁定到我們的核心配置文件中】

關(guān)于@Param()注解

  • 基本類型的參數(shù)或者String類型,需要加上
  • 引用類型不需要加
  • 如果只有一個(gè)基本類型的化,可以忽略,但是建議都加上
  • 我們?cè)赟QL中引用的就是我們這里的@Param()中設(shè)定的屬性名

#{} ${}區(qū)別

  • {}是預(yù)編譯處理,${}是字符串替換
  • mybatis在處理#{}時(shí),會(huì)將sql中的#{}替換為?號(hào),調(diào)用PreparedStatement的set方法來(lái)賦值;mybatis在處理${}時(shí),就是把${}替換成變量的值
  • 使用#{}可以有效的防止SQL注入,提高系統(tǒng)安全性

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


本文題目:MyBatis使用注解開(kāi)發(fā)實(shí)現(xiàn)過(guò)程詳解
當(dāng)前URL:http://weahome.cn/article/pscoip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部