mybatis基本操作(二)

 在这里《mybatis基本操作(一)》我介绍了mybatis使用配置文件对数据库进行增删改查。下面将介绍mybatis使用注解进行相应的操作。首先,使用注解同样要配置总配置文件,JavaBean,以及properties文件。只是将(一)中的student.xml文件替换为studentMapper.java。如下:

 1 package com.zhouxy.ibatis;
 2
 3 import java.util.List;
 4
 5 import org.apache.ibatis.annotations.Delete;
 6 import org.apache.ibatis.annotations.Insert;
 7 import org.apache.ibatis.annotations.Select;
 8 import org.apache.ibatis.annotations.Update;
 9
10
11 /**
12  * studentMapper.java是一个接口.在接口中将sql语句传入相应的注解中。
13  * @author zhouxy
14  *
15  */
16 public interface StudentMapper {
17
18     @Select("select * from student")
19     public List<Student> getAllStudents();
20
21     @Select("select * from student where id = #{id}")
22     public Student getStudentById(int id);
23
24     @Select("select * from student where name like \"%\"#{name}\"%\"")
25     public List<Student> getStudentByName(String name);
26
27     @Insert("insert into student(name,age) values(#{name},#{age})")
28     public void addStudent(Student student);
29
30     @Update("update student set name = #{name},age=#{age}")
31     public void updateStudent(Student student);
32
33     @Delete("delete from student where id = #{id}")
34     public void deleteStudentById(int id);
35 }

 上面编写了StudentMapper,它相当于使用配置文件中的student.xml文件。下面是对StudentMapper进行注册,返回获得了sqlsession对象的studentMapper对象:

 1 package com.zhouxy.ibatis;
 2
 3 import java.util.List;
 4
 5 import org.apache.ibatis.session.SqlSession;
 6 import org.apache.ibatis.session.SqlSessionFactory;
 7
 8 public class StudentDaoByAnnotation {
 9     //得到studentMapper对象,就像使用配置文件要获取SqlSession对象一样.
10     public static StudentMapper getStudentMapper(){
11         StudentMapper studentMapper = null;
12         SqlSessionFactory sqlSessionFactory = SessionFactoryUtils.getSqlSessionFactory();
13
14         sqlSessionFactory.getConfiguration().addMapper(StudentMapper.class);//必须注册StudentMapper
15
16         SqlSession sqlSession = sqlSessionFactory.openSession();
17         studentMapper = sqlSession.getMapper(StudentMapper.class);
18
19         return studentMapper;
20     }
21 }

 测试:

 1 package com.zhouxy.ibatis;
 2
 3 public class TestMapper {
 4     //获得指定学生
 5     public static void getStudentById(int id){
 6         StudentMapper studentMapper = StudentDaoByAnnotation.getStudentMapper();
 7         Student student = studentMapper.getStudentById(id);
 8
 9         System.out.println(student.toString());
10     }
11
12     public static void main(String[] args) {
13         getStudentById(8);
14     }
15 }

 测试结果:

  

 这两种方式在不同的情况下使用不同的方式会带来各自的好处,可以择优选取。

时间: 2024-10-25 17:50:24

mybatis基本操作(二)的相关文章

mybatis基本操作(一)

之前写过一篇关于ibatis的文章,这两天学习了mybatis. Ibatis本是apache的一个开源项目,2010年这个项目由apache software foundation 迁移到了google code,并且改名为mybatis. MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs

spring mvc+mybatis整合 (二)

转:http://lifeneveralone.diandian.com/post/2012-11-02/40042292065 本文介绍使用spring mvc结合Mybatis搭建一个应用程序框架. demo源码下载:springMVC-Mybatis 1.准备工作: spring的jar包: spring-beans-3.1.0.RELEASE.jar spring-core-3.1.0.RELEASE.jar spring-web-3.1.0.RELEASE.jar spring-web

MyBatis系列二 之 数据库列名于程序实体类中字段名称不一致

MyBatis系列二  之   数据库列名于程序实体类中字段名称不一致 情景:当数据库中的列名与我们程序实体类中的字段名称不一致         使用ResultMap节点配置信息  在映射文件中  mapper根节点下配置ResultMap节点信息 <resultMap type="Student" id="studentMapper"> <result column="sname" property="stunam

mybatis入门(二)

mybatis入门(二) 探究sql语句的映射过程 要探究sql执行过程,先看一个简单的小例子 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <map

MyBatis学习(二):与Spring整合(非注解方式配置MyBatis)

搭建SpringMVC的-->传送门<-- 一.环境搭建: 目录结构: 引用的JAR包: 如果是Maven搭建的话,pom.xml的配置如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema

33、mybatis(二)

第十六章回顾SQL99中的连接查询 1)内连接 2)外连接 3)自连接 第十七章回顾hibernate多表开发 1)一对一 2)一对多 3)多对多 第十八章 mybatis一对一映射[学生与身份证] 1)参见<<一对一图示.JPG>> 2)创建students.sql和cards.sql drop table students; drop table cards; create table cards( id    int(5)      primary key, num varc

MyBatis之二:简单增删改查

这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> <!-- 通过xml方式映射 --> <mapper resource="com/mybatis/crud/userMapper.xml" /> <!-- 通过注解方式映射 --> <mapper class="com.mybatis.c

mybatis入门二-----增删改查

一.使用MyBatis对表执行CRUD操作--基于XML的实现 1.定义sql映射xml文件 userMapper.xml文件的内容如下: <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapp

MyBatis 入门(二)--用接口方式访问数据库

一.建立接口 UserMapper.java public interface UserMapper { public List<User> getAllUser(); public User getUserById(String userId); public int insert(User user); public int update(User user); public int delete(User user); } 二 修改 UserMapper.xml <?xml ver