1.pom.xml添加jpa和数据库依赖包
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
2.application.properties配置数据库连接池
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orcl spring.datasource.username=jdjk spring.datasource.password=jdjk spring.datasource.initialSize=20 spring.datasource.minIdle=20 spring.datasource.maxActive=100 spring.datasource.maxWait=60000 spring.jpa.database-platform=org.hibernate.dialect.OracleDialect
3.创建表映射实体类
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="t_sys_jkconfig") public class T_SYS_JKCONFIG{ private String xh; private String server_ip; private String server_name; private String server_action; @Id public String getXh() { return xh; } public void setXh(String xh) { this.xh = xh; } public String getServer_ip() { return server_ip; } public void setServer_ip(String server_ip) { this.server_ip = server_ip; } public String getServer_name() { return server_name; } public void setServer_name(String server_name) { this.server_name = server_name; } public String getServer_action() { return server_action; } public void setServer_action(String server_action) { this.server_action = server_action; } }
4.创建接口继承JpaRepository
import java.util.List; import java.util.Map; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import cn.com.highset.goexpo.bqd.bean.T_SYS_JKCONFIG; @Repository @Transactional public interface IBaseDao extends JpaRepository<T_SYS_JKCONFIG, String> { T_SYS_JKCONFIG findByXh(String xh); //返回对象 @Query(value = "select * from t_sys_jkconfig where server_ip = :ip", nativeQuery = true) List<T_SYS_JKCONFIG> getByIp(@Param("ip") String ip); //返回map @Query(value = "select server_ip from t_sys_jkconfig where server_ip = :ip", nativeQuery = true) List<Map> getMapByIp(@Param("ip") String ip); @Modifying @Query(value = "update t_sys_jkconfig set server_ip = :ip where xh = :xh", nativeQuery = true) void updateByXh(@Param("ip") String ip,@Param("xh") String xh); }
5.在Controller中调用方法
import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import cn.com.highset.goexpo.dao.IBaseDao; @Controller public class IndexController { @Autowired private IBaseDao baseDao; @RequestMapping("/") public String root(Model model) { //新增 T_SYS_JKCONFIG t = new T_SYS_JKCONFIG(); t.setXh("111"); t.setServer_ip("222"); t.setServer_name("333"); t.setServer_action("444"); baseDao.save(t); //删除 T_SYS_JKCONFIG jkconfig = baseDao.findByXh("111"); baseDao.delete(jkconfig); //修改 baseDao.updateByXh("12345", "1"); //查询 List<Map> list = baseDao.getMapByIp("192.168.1.120"); for(Map t : list){ System.out.println(t.get("xh")); } model.addAttribute("list", list); return "home"; } }
6.在启动类Application中添加扫描注解
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; import org.springframework.web.bind.annotation.RestController; @RestController @SpringBootApplication @EnableJpaRepositories(basePackages = "xxx.xxx.dao") @EntityScan("xxx.xxx.bean") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }