4. WebApi 인터페이스 개발 프레임워크 제로 구축 - Dao, 서비스 설계

3683 단어
이 안에는 jdbc Template를 데이터베이스에 접근하는 기능으로 사용하고dao는 사용자의 로그인, news의 삭제 및 수정만 간단하게 포함한다.
1.pom의존

        UTF-8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-jdbc
        

        
            mysql
            mysql-connector-java
        

        
            com.alibaba
            druid
        
    

여기는 주로 Springboot의 의존과 데이터베이스입니다.
1. 데이터베이스 연결 응용 프로그램을 설정합니다.yml
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot
    username: root
    password: root

2. 모델 작성
public class User {
    private int id;
    private String username;//
    private String passsword;//
//   set get
}

public class News {
    private int id;//
    private String title;//  
    private String content;//  
//   set get
}

3. 다오 작성
@Repository
public class UserDao {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    public User getByUsername(String username) {
        List list = jdbcTemplate.query("select * from t_user where username = ?", new Object[]{username}, new BeanPropertyRowMapper(User.class));
        return list.size() > 0 ? list.get(0) : null;
    }
}

@Repository
public class NewsDao {

    @Autowired
    private JdbcTemplate jdbcTemplate;

    public int add(News news) {
        String sql = "insert into t_news(title,content) values(:title,:content)";
        return new NamedParameterJdbcTemplate(jdbcTemplate).update(sql, new BeanPropertySqlParameterSource(news));
    }

    public int update(News news) {
        String sql = "update  t_news SET title=:title,content=:content   WHERE id=?";
        return new NamedParameterJdbcTemplate(jdbcTemplate).update(sql, new BeanPropertySqlParameterSource(news));
    }

    public int delete(int id) {
        return jdbcTemplate.update("DELETE from t_news where id=?", id);
    }

    public News get(int id) {
        List list = jdbcTemplate.query("select * from t_news where id = ?", new Object[]{id}, new BeanPropertyRowMapper(News.class));
        return list.size() > 0 ? list.get(0) : null;
    }

    public List list() {
        List list = jdbcTemplate.query("select * from t_news", new BeanPropertyRowMapper(News.class));
        return list;
    }
}

4. 서비스 작성
@Service
public class UserService {
    @Autowired
    private UserDao userDao;

    public User getByUsername(String username) {
        return userDao.getByUsername(username);
    }
}

@Service
public class NewsService {
    @Autowired
    private NewsDao newsDao;

    public int add(News news) {
        return newsDao.add(news);
    }

    public int update(News news) {
        return newsDao.update(news);
    }

    public int delete(int id) {
        return newsDao.delete(id);
    }

    public News get(int id) {
        return newsDao.get(id);
    }

    public List list() {
        return newsDao.list();
    }
}

이 절은 비교적 간단하여 복잡한 내용이 없다
원본 다운로드
이 예제 상세 원본 코드

좋은 웹페이지 즐겨찾기