首页 > 其他 > 详细

Dao层

时间:2020-07-17 13:01:36      阅读:35      评论:0      收藏:0      [点我收藏+]

Dao实现类用xml配置代理,Dao与xml放在同一包下,文件名、namespace、id要一一对应。

service接口与实现类为委托类,仅写业务代码,在main中用动态代理来处理事务等。

当需要在service中增加一个方法时,依次添加service接口-->service实现类-->Dao接口-->xml

技术分享图片

 

 

//PetDao.xml
<?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"> <mapper namespace="com.WebTest01.dao.PetDao"> <select id="getByName" parameterType="java.lang.String" resultType="com.WebTest01.domain.Pet"> select * from pet where name = #{name} </select> <select id="getAll" resultType="com.WebTest01.domain.Pet"> select * from pet </select> <insert id="insertPet"> insert into pet(name,age,owner) values(#{name},#{age},#{owner}) </insert> <update id="updatePet"> update pet set name = #{name}, owner = #{owner} where age = #{age} </update> <delete id="deletePet"> delete from pet where age = #{age} </delete> </mapper>

 

//PetDao.java

package com.WebTest01.dao;

import com.WebTest01.domain.Pet;

import java.util.List;

public interface PetDao {

    public Pet getByName(String name);

    public List<Pet> getAll();

    public void insertPet(Pet pet);

    public void updatePet(Pet pet);

    public void deletePet(Pet pet);

}
//PetService.java

package com.WebTest01.service;

import com.WebTest01.domain.Pet;

import java.util.List;

public interface PetService {

    public Pet getByName(String name);

    public List<Pet> getAll();

    public void insertPet(Pet pet);

    public void updatePet(Pet pet);

    public void deletePet(Pet pet);

}
//PetServiceImpl.java

package com.WebTest01.service.Impl;

import com.WebTest01.dao.PetDao;
import com.WebTest01.domain.Pet;
import com.WebTest01.service.PetService;
import com.WebTest01.util.SqlSessionUtil;

import java.util.List;

public class PetServiceImpl implements PetService {
    //mybatis动态代理创建PetDao实现类
    private PetDao petDao = SqlSessionUtil.getSession().getMapper(PetDao.class);

    @Override
    public Pet getByName(String name) {
        return petDao.getByName(name);
    }

    @Override
    public List<Pet> getAll() {
        return petDao.getAll();
    }

    @Override
    public void insertPet(Pet pet) {
        petDao.insertPet(pet);
    }

    @Override
    public void updatePet(Pet pet) {
        petDao.updatePet(pet);
    }

    @Override
    public void deletePet(Pet pet) {
        petDao.deletePet(pet);
    }
}
//Test

package com.WebTest01.test;

import com.WebTest01.domain.Pet;
import com.WebTest01.service.Impl.PetServiceImpl;
import com.WebTest01.service.PetService;
import com.WebTest01.util.ServiceFactory;

public class Test01 {
    public static void main(String[] args) {
        PetService petService = (PetService) ServiceFactory.getService(new PetServiceImpl());
        Pet pet = new Pet("ttt", "S", 9999);
        petService.deletePet(pet);
    }
}

 

Dao层

原文:https://www.cnblogs.com/faded828x/p/13328621.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!