简单使用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等高并发分布式、大数据、机器学习等技术。机器学习