赞
踩
查询操作返回的主要有三种
分别是 查询一个字段 查询一个对象 查询一个集合
而我们将实现的 返回长度 也是是返回某个值的其中一种
我们创建一个java项目 然后引入java Spring JdbcTemplate所需要的 Jar包
我这里 有一个test数据库 其中有一张 user_list表 其中有这么几条数据
这次 我们要用程序去实现查询 这个表中的记录数
简单说 查有多少条数据
在java项目 src目录下创建一个包 叫 dao
在 dao下创建一个接口 我这里叫 BookDao
参考代码如下
package dao;
import mydata.user_list;
public interface BookDao {
int findCount();
}
然后 在dao 下创建BookDaoImpl类 来实现这个接口
参考代码如下
package dao; import mydata.user_list; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; @Repository public class BookDaoImpl implements BookDao { @Autowired private JdbcTemplate jdbcTemplate; @Override public int findCount() { String sql = "select count(*) from user_list"; Integer hangm = jdbcTemplate.queryForObject(sql,Integer.class); System.out.println(hangm); return hangm; } }
这里 我们使用了jdbcTemplate中的queryForObject 此方法用于操作数据库 第一个参数 接受一段sql语句 作为执行语句 第二个参数是参数的返回类型的类
例如 我们要返回的是一个长度 数字类型的 int类型 对应的类就是Integer
然后 在src下创建 一个包 叫 senvice 下面创建一个类 叫 BookService
参考代码如下
package senvice; import dao.BookDao; import mydata.user_list; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class BookService { @Autowired protected BookDao BookDao; public int findCountUser_list () { return BookDao.findCount(); } }
主要就是做一个调用 三层架构中这些 还是有必要的
然后我们在src下创建 bean.xml 参考代码如下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 数据库连接池 --> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="jdbc:mysql:///test" /><!--对应SQLyog里的数据库--> <property name="username" value="root" /> <!-- 用户名 --> <property name="password" value="root" /> <!-- 密码 --> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> </bean> <!-- JdbcTemplate对象 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <!--注入dataSource属性--> <property name="dataSource" ref="dataSource"></property> </bean> <context:component-scan base-package="senvice"></context:component-scan> <context:component-scan base-package="dao"></context:component-scan> </beans>
这里这个配置是需要注意的 首先 jdbc:mysql:///test 这里 我指向的是 test数据库
其次是用户名和密码
然后 我们在src下编写测试类 参考代码如下
import mydata.user_list;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import senvice.BookService;
public class text {
public static void main(String args[]) {
ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
BookService bookService = context.getBean("bookService", BookService.class);
int length = bookService.findCountUser_list();
System.out.println("user_list共有"+length+"条数据");
}
}
运行结果如下
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。