mybatis映射文件mapper.xml的具体写法
Mapper映射文件是一个xml格式文件,必须遵循相应的dtd文件规范
在学习mybatis的时候我们通常会在映射文件这样写:
select *from student where id=#{id}select *from student where gid=#{gid}
然后再写dao的实现在写一个类,来实现dao的接口。但是这样在实现中需要这样写:
package com.qbd.service; import org.apache.ibatis.session.SqlSession; import org.apache.log4j.Logger; import com.qbd.mapper.StudentMappers; import com.qbd.model.Student; import com.qbd.util.SqlSessionFactoryUtil; public class StudentService {private static Logger logge=Logger.getLogger(StudentService.class); public static void main(String[] args) {SqlSession sqlSession=SqlSessionFactoryUtil.getSqlSession(); StudentMappers studentMappers=(StudentMappers)sqlSession.getMapper(StudentMappers.class); Student student=new Student(); student.setName("22"); student.setAge(2); int s=studentMappers.add(student); sqlSession.commit(); if(s>0){logge.info("success"); System.out.println("success"); }}}
来读取配置文件
另一种方法就是:
直接在mapper.xml中的这一部分写成dao
select * from user and uname like #{uname} limit #{start},#{size} select count(*) from userselect *from user where uname=#{uname} and upassword=#{upassword} and uname like #{uname} delete from user where uid=#{uid} update user uname=#{uname}, upassword=#{upassword}, upower=#{upower}, where uid=#{uid}insert into user values(null,#{uname},#{upassword},#{upower})
那么就不用写dao的实现在service中就能掉用mybatis默认会把mapper.xml映射为dao的实现
【mybatis映射文件mapper.xml的具体写法】那么下面dao就能这样写:
package com.qbd.ssm.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.Delete; import com.qbd.ssm.model.User; public interface UserDao { public ListgetAll(); public User getUser(User user); public int delete(User user); public int update(User user); public int add(User user); public List find(Map map); public Long getTotal(Map map); }
service这样写
package com.qbd.ssm.service; import java.util.List; import java.util.Map; import com.qbd.ssm.model.User; public interface UserService { public ListgetAll(); public User getUser(User user); public int delete(User user); public int update(User user); public int add(User user); public List find(Map map); public Long getTotal(Map map); }
service的实现:
package com.qbd.ssm.serviceimpl; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.qbd.ssm.dao.UserDao; import com.qbd.ssm.model.User; import com.qbd.ssm.service.UserService; @Service("userService")public class UserServiceImpl implements UserService { private UserDao userDao; public UserDao getUserDao() {return userDao; } @Resourcepublic void setUserDao(UserDao userDao) {this.userDao = userDao; } public ListgetAll() {// TODO Auto-generated method stubreturn userDao.getAll(); } public User getUser(User user) {// TODO Auto-generated method stubreturn userDao.getUser(user); } public int delete(User user) {// TODO Auto-generated method stubreturn userDao.delete(user); } public int update(User user) {// TODO Auto-generated method stubreturn userDao.update(user); } public int add(User user) {// TODO Auto-generated method stubreturn userDao.add(user); } public List find(Map map) {// TODO Auto-generated method stubreturn userDao.find(map); } public Long getTotal(Map map) {// TODO Auto-generated method stubreturn userDao.getTotal(map); }}
在这里面userDao不能写错,spring会按照name进行注入
到此这篇关于mybatis映射文件mapper.xml的具体写法的文章就介绍到这了,更多相关mybatis映射文件mapper.xml内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- mybatisplus如何在xml的连表查询中使用queryWrapper
- mybatisplus|mybatisplus where QueryWrapper加括号嵌套查询方式
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- django-前后端交互
- 如何在Mac中的文件选择框中打开系统隐藏文件夹
- 使用composer自动加载类文件
- ssh生成公钥秘钥
- Android系统启动之init.rc文件解析过程