完整的jdbctemplate后台代码

最近一直在做图表,用的方法就是后台的jdbctemplate取数据的方法。

方便快捷,易懂。但是局限性在于,数据库改变的时候,会影响整体功能。

但是对于后续修改bug等提供了方便。这部分对oracle数据库的sql语句要求比较高

不多说,测试代码如下:

ajax代码:

 $.ajax({
            type: "POST",
            url: "ajax方法名",
            dataType: "json",
            data: { 
				   name:$("#name").val()//参数假设是name
			   },
            success: function (data) {
                //执行成功后的方法
				successFunction(data)
            }
        });
调用后台的result数据:

function successFunction(data) {
        data = eval(data["result"]);
        var data1 = new Array(data.length);
        var data2 = new Array(data.length);
        for (var i = 0; i < data.length; i++) {
            data1[i] = data[i]["A"];//sql语句获取的直接调用的字段
            data2[i] =  data[i]["B"];
            
        }
		//....此处省略
		//直接调用上面的data1和data2,适用于图表模块

controller层:TestController.java

@Controller
public class TestController {

    private Logger logger = LoggerFactory.getLogger(TestController.class);

    @Autowired
    private TestService testService;
	
	@RequestMapping(value = "ajax方法名")
    @ResponseBody
    public Map<String, Object> getTestList(HttpServletRequest request,Model model) {

		String name = request.getParameter("name");
        Map<String, Object> retMap = new HashMap<>();
		
        try {

            List list = testService.getTestList(name);//调用方法,参数为name,并且为非必要条件
            retMap.put("result", list);

            return MessageUtil.buildResponseMap(true, retMap);
        } catch (Exception e) {
            logger.error(e.getMessage(), e);
            return MessageUtil.buildResponseMap(false, MessageUtil.buildSystemErrorMessage(e), retMap);
        }
    }
}


service层:TestService.java

public interface TestService {
  public List getTestList(String name);

}

serviceImplent层:TestServiceImpl.java (重要的部分,此部分包括sql语句,并且必须保证sql语句的正确性)

 @Override
    public List getTestList(String name) {

        String sql_list =
                "正确的sql语句";
				
		//如果需要参数的值的时候,sql语句加上下面的片段
		if (name.length() > 0) {      
            sql_list += "  AND name like '%" + name + "%'   ";
        }
				
        List list = jdbcTemplate.queryForList(sql_list);
        return list;
    }

}


model类:Test.java(必须对应数据库的所有字段)

@Entity
@Table(name = "数据库表名")
public class Test {

    //必须指定,不管数据库是否有主键
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    private String id;

    //字段1
    @Column(name = "NAME")
    private String name;

	//get和set方法
	public String getName() {

        return name;
    }

    public void setName(String name) {

        this.name = name;
    }
   
}

简单易懂,代码小白也能看懂的代码,对于数据库的相关配置,以及需要导入的jar包,下篇文章中会介绍。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值