簡單使用sql
這是一個簡單的Mybatis保存對象的例子數據庫
1@Test 2public void testSave() throws Exception { 3 //建立sessionFactory對象 4 SqlSessionFactory sf = new SqlSessionFactoryBuilder(). 5 build(Resources.getResourceAsStream("mybatis-config.xml")); 6 //獲取session對象 7 SqlSession session = sf.openSession(); 8 //建立實體對象 9 User user = new User(); 10 user.setUsername("toby"); 11 user.setPassword("123"); 12 user.setAge(23); 13 //保存數據到數據庫中 14 session.insert("com.toby.mybatis.domain.UserMapper.add", user); 15 //提交事務,這個是必需要的,不然即便sql發了也保存不到數據庫中 16 session.commit(); 17 //關閉資源 18 session.close(); 19}
1<mapper namespace="com.toby.mybatis.domain.UserMapper"> 2 <!--#{}在傳入的對象中找對應的屬性值--> 3 <!--parameterType傳入的參數是什麼類型--> 4 <insert id="add" parameterType="com.toby.mybatis.domain.User"> 5 INSERT INTO USER (username,password,age) VALUES (#{username},#{password},#{age}) 6 </insert> 7</mapper>
引出主題session
可是在實際中,咱們都不是這樣操做的,咱們是經過Mapper接口,調用接口方法,就能實現CRUD操做,那麼關鍵是,這個接口究竟作了什麼事,纔是咱們關心的.mybatis
只要把下面這段代碼究竟發生了什麼事弄明白,就明白,這個Mapper接口究竟作了什麼事.併發
1public void testGetObject() throws Exception { 2 SqlSession session = MybatisUtil.openSession(); 3 4 UserMapper mapper = session.getMapper(UserMapper.class); 5 User user = mapper.get(5L); 6 7 System.out.println(user); 8 session.close(); 9}
1public interface UserMapper { 2 3 public void add(User user); 4 public User get(Long id); 5}
流程圖app
可是我認爲,一張流程圖和時序圖就看明白這期間所發生的事dom
免費Java資料領取,涵蓋了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高併發分佈式、大數據、機器學習等技術。機器學習