java 中servlet mysql根据输入的年龄值查找数据库中出生日期符合的数据

我用的是java编写代码有一个查询框key输入年龄查询表teacher中符合的出生年份的所有数据输出表中有Birth这一记录是date类型的值Stringkey=req.... 我用的是java编写代码 有一个查询框key 输入年龄 查询表teacher中符合的出生年份的所有数据输出 表中有Birth这一记录 是date类型的值String key = req.getParameter("key");《这里转换比较》String sql = "SELECT * FROM teacher WHERE 。。。。。。。'";请用最简洁的方法 可用sql语句直接得到最好。。。或者写在一个servlet中 然后调用方法 展开
 我来答
流浪的幽狼
2014-01-11 · TA获得超过1515个赞
知道大有可为答主
回答量:1462
采纳率:75%
帮助的人:787万
展开全部
select * from teacher where DATE_FORMAT(NOW(),'%Y') - DATE_FORMAT(birthday,'%Y') = key

这里的key要int类型

其中birthday是数据库表中datetime类型的字段

key表示年龄例如2013年x月x日出生的 那么key就是1


public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        Connection conn = getdb.getc();
        
        String ageStr = request.getParameter("age");
        int age = Integer.parseInt(ageStr);
        ServletContext context = getServletContext();
        ArrayList<tea> list = null;
        ResultSet rs = null;
        String Sql ="select * from tea where DATE_FORMAT(NOW(),'%Y') - DATE_FORMAT(birth,'%Y') = ?";
        try {
            PreparedStatement ps = conn.prepareStatement(Sql);
            ps.setInt(1, age);
            rs = ps.executeQuery();
            list = new ArrayList<tea>();
            while(rs.next()){
                tea t = new tea();
                t.setId(rs.getInt("id"));
                t.setName(rs.getString("name"));
                t.setDate(rs.getDate("birth"));
                
                System.out.println(rs.getInt("id") + " "+rs.getString("name") + " "+rs.getDate("birth"));
                
                list.add(t);
            }
            
            
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

 

in

追问
啊  又一位大神 这个问题我提了两边  虽然我有了答案  还是给你分 你答得太仔细 了  同样非常感谢 !!! 冒昧再问个别的问题 我的数据库teacher表中有政治面貌这个记录 怎样写在java xml配置文件中 比如党员 预备党员 普通群众3个选项 然后添加信息时有个下拉框来选择
追答

为何要写入配置中,觉得没必要反正都是个下拉菜单,根据下拉菜单返回的内容直接判断不就行了,如果非要xml 就设:

<zhengzhi>
    <dangyuan>党员</dangyuan>
    <yubeidangyuan>预备党员</yubeidangyuan>
    <tuanyuan>团员</tuanyuan>
</zhengzhi>

然后读出来放进数组里面在jsp页面拿出来就行了,有点麻烦,还不如直接写

匿名用户
2014-01-11
展开全部
留邮箱,我发一个例子给你。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小强鱼鱼8
2014-01-10
知道答主
回答量:7
采纳率:0%
帮助的人:9653
展开全部
"select * from teacher where key= " + key,我平常用hibernate的HQL,很方便的!看看能解决吗?我也是菜鸟,互相学习啊
追问
我这问题之前也问了一下 那位  大神解释的特别详细  你这说的可不对  我又提一遍是因为之前没得到答案  告诉你下吧date_format(NOW(),'%Y') - date_format(birthday,'%Y') 这个才对
追答
谢谢!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式