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);
}
}