Mybatis简单增删改查操作基于Annotation
来源:互联网 发布:sql注入的危害性 编辑:程序博客网 时间:2024/06/06 14:19
基于Annotation的Mybatis配置比xml更加的便捷:
首先修改我们的通用配置文件:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver" value="oracle.jdbc.driver.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@localhost:1521:MYWEBDB" /><property name="username" value="WEBUSER" /><property name="password" value="123456" /></dataSource></environment></environments><mappers><mapper class="com.smile.entity.UserMapper"/></mappers></configuration>然后我们创建UserMapper接口,省去了对userMapper的配置:
package com.smile.entity;import java.util.List;import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;public interface UserMapper {@Insert("insert into users(id,name,age) values(#{id},#{name},#{age})")public int insertUser(User user);@Delete("delete from users where id=#{id}")public int deleteUserById(int id);@Update("update users set name=#{name},age=#{age} where id=#{id}")public int updateUser(User user);@Select("select * from users where id=#{id}")public User getUserById(int id);@Select("select * from users order by id")public List<User> getAllUser();@Select("select count(*) from users")public int getUserCount();}同时修改UserServices:
package com.smile.services;import java.util.List;import org.apache.ibatis.session.SqlSession;import com.smile.entity.User;import com.smile.entity.UserMapper;public class UserService {public void getUser(SqlSession session,int id){UserMapper mapper = session.getMapper(UserMapper.class);User user = mapper.getUserById(id);System.out.println(user);}public void insertUser(SqlSession session,User user){UserMapper mapper = session.getMapper(UserMapper.class);mapper.insertUser(user);session.commit();System.out.println("UserCount:"+getUserCount(session));}public int getUserCount(SqlSession session){UserMapper mapper = session.getMapper(UserMapper.class);return mapper.getUserCount();}public List<User> getAllUsers(SqlSession session){UserMapper mapper = session.getMapper(UserMapper.class);return mapper.getAllUser();}}使用Mapper中的方法来替换session的方法。
测试的类没有变化:
package com.smile.test;import java.io.IOException;import java.io.Reader;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.smile.entity.User;import com.smile.services.UserService;public class Test {public static void main(String[] args) throws IOException {String resource = "Mybatis-Config.xml";// 加载mybatis 的配置文件(它也加载关联的映射文件)Reader reader = Resources.getResourceAsReader(resource);// 构建sqlSession 的工厂SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);SqlSession session = sessionFactory.openSession();try{// 创建能执行映射文件中sql 的sqlSessionUserService us = new UserService();int id = 1;us.getUser(session, id);//User user = new User(4,"谢逊",90);//us.insertUser(session, user);List<User> users = us.getAllUsers(session);for(int i = 0;i< users.size();i++){System.out.println(users.get(i));}}finally{session.close();}}}项目文档结构如下图:
0 0
- Mybatis简单增删改查操作基于Annotation
- Mybatis简单增删改查操作
- mybatis-简单的增删改查操作
- mybatis-简单的增删改查操作
- 【Mybatis学习】Mybatis简单增删改查以及批量操作
- mybatis 增删改查操作
- Mybatis增删查改操作
- MyBatis对数据库的增删改查操作,简单示例
- MyBatis对数据库的增删改查操作,简单示例
- 【Mybatis】Mybatis增删改查操作
- 基于mybatis的增删改查
- Mybatis-基于注解的增删改查
- MyBatis(三)增删改查--基于接口
- MyBatis(四)增删改查--基于注解
- 基于Mybatis的增删改查
- Mybatis介绍、安装、实现简单增删改查、实现基于动态代理增删改查、核心配置文件讲解 笔记
- mybatis简单的增删改查
- mybatis简单测试增删改查
- java设计模式之单利模式
- mysql修改表引擎
- iOS开发 内存报错 EXC_BAD_ACCESS
- Hello Bonjour!实现零配置网络联网的解决方案
- 【codevs1028】花店橱窗布置 费用流(EK)
- Mybatis简单增删改查操作基于Annotation
- Revit二次开发---入门小笔记
- setVisibility()设置过度动画
- Android Activity
- 使用ajax上传图片(ajaxfileupload.js)
- Android 首次开机优化
- oracle存储过程、声明变量、for循环
- ajax接口之一:登录退出系统
- android编译分析之9—dumpvar.mk