小学期学习总结二

这几天老师讲述了mybatis和springmvc的配置和使用。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--  namespace 命名空间     在使用的时候,需要适用到它  -->
<mapper namespace="abc">
 
 <!-- 替代语句 -->
 <sql id="cols">
  userid,username,pwd
 </sql>
 <!-- 查询所有信息 -->
 <!--
  resultType:  返回类型,适用  Userinfo 实体类作为接受返回的类型
  <include refid="cols"/>   可以在sql文中引用  已经定义过的sql片段
  -->
 <select id="listAll" resultType="cn.neusoft.mybatis.pojo.Userinfo">
  select <include refid="cols"/> from userinfo
 </select>
 
 <select id="getById" parameterType="integer" resultType="aliasesUser">
     select <include refid="cols"/> from userinfo where userid=#{userid}
 </select>
 
 <insert id="addUser" parameterType="aliasesUser" >
     insert into userinfo (userid,username,pwd) values (#{userid},#{username},#{pwd})
 </insert>

<!-- 更新一个用户信息  根据用户名修改用户密码-->
 <update id="updateOne" parameterType="aliasesUser">
     update userinfo set pwd=#{pwd} where username=#{username}
 </update>
 <!-- 删除用户 -->
 <delete id="deleteOne" parameterType="aliasesUser">
     delete from userinfo  where username=#{username}
 </delete>
</mapper>

在.xml文件中写的关于数据库的操作,然后在Java类中实现。

package cn.neusoft.mybatis.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import cn.neusoft.mybatis.jdbc.Dbutils;
import cn.neusoft.mybatis.pojo.Userinfo;

public class UserinfoDaoImpl implements UserinfoDao {

@Override
 public boolean addUser(Userinfo userinfo) {
  // TODO Auto-generated method stub
  //读取Userinfo 实体类的信息,然后把信息插入到数据库
  //1.编写sql 语句
  String sql = "insert into userinfo(username,pwd) values (?,?)";
  //2.如果sql 语句中有问号  我们需要对应信息
  //userinfo.getUsername()对应第一个问号
  //userinfo.getPwd()   对应第二个问号
  Object[] obj = new Object[]{userinfo.getUsername(),userinfo.getPwd()};
  //3.把sql 语句以及对象放入 Dbutils  的executeupdate方法中进行执行
  int a = Dbutils.executeUpdate(sql, obj);
  if(0!=a){
    return true;
  }
  return false;
 }

@Override
 public boolean Update(Userinfo userinfo) {
  // TODO Auto-generated method stub
  String sql = "update userinfo set pwd = ‘"+userinfo.getPwd()+"‘ where username = ‘"+userinfo.getUsername()+"‘";
  //
  System.out.println(sql);
  int a = Dbutils.executeUpdate(sql, null);
  if(0!=a){
    return true;
  }
  return false;
 }

@Override
 public boolean Delete(String username) {
  // TODO Auto-generated method stub
  String sql = "delete from userinfo where username = ?";
  Object[] obj = new Object[]{username};
  int a = Dbutils.executeUpdate(sql, obj);
  if(0!=a){
    return true;
  }
  return false;
 }

@Override
 public List<Userinfo> findAll() {
  // TODO Auto-generated method stub
  List<Userinfo> list = new ArrayList<Userinfo>();
  String sql = "select * from userinfo";
  ResultSet rs = Dbutils.executeQuery(sql, null);
  try {
   while(rs.next()){
    //由于查询所有信息  意味着 Userinfo 需要重复使用   那么就会在循环体中多次使用
    //
    Userinfo userinfo = new Userinfo();
    userinfo.setUserid(rs.getInt("userid"));
    userinfo.setUsername(rs.getString("username"));
    userinfo.setPwd(rs.getString("pwd"));
    list.add(userinfo);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
 }

@Override
 public List<Userinfo> findUser(String username) {
  List<Userinfo> list = new ArrayList<Userinfo>();
  String sql = "select * from userinfo where username=‘"+username+"‘";
  System.out.println(sql);
  ResultSet rs = Dbutils.executeQuery(sql, null);
  try {
   while(rs.next()){
    Userinfo userinfo = new Userinfo();
    userinfo.setUserid(rs.getInt("userid"));
    userinfo.setUsername(rs.getString("username"));
    userinfo.setPwd(rs.getString("pwd"));
    list.add(userinfo);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
 }

@Override
 public Userinfo findByUsername(String username) {
  // TODO Auto-generated method stub
  String sql = "select * from userinfo where username = ‘"+username+"‘";
  ResultSet rs = Dbutils.executeQuery(sql, null);
  Userinfo userinfo = new Userinfo();
  try {
   while(rs.next()){
    userinfo.setUserid(rs.getInt("userid"));
    userinfo.setUsername(rs.getString("username"));
    userinfo.setPwd(rs.getString("pwd"));
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return userinfo;
 }

@Override
 public List<Userinfo> findByPage(int pageSize, int pageNo) {
  List<Userinfo> list = new ArrayList<Userinfo>();
  int i = pageSize*(pageNo-1);
  String sql = "select * from userinfo limit ?,?";
  Object[] obj = new Object[]{i,pageSize};
  ResultSet rs = Dbutils.executeQuery(sql,obj);
  try {
   while(rs.next()){
    //由于查询所有信息  意味着 Userinfo 需要重复使用   那么就会在循环体中多次使用
    //
    Userinfo userinfo = new Userinfo();
    userinfo.setUserid(rs.getInt("userid"));
    userinfo.setUsername(rs.getString("username"));
    userinfo.setPwd(rs.getString("pwd"));
    list.add(userinfo);
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return list;
 }

}

时间: 2024-10-02 06:42:56

小学期学习总结二的相关文章

小学期学习记

这周,我们紧张又刺激的小学期开始了.反正也没多想,就是应该能学点东西的吧. 东软老师上来就给我们介绍了myeclipse 10的用法和用途.不得不说,这个软件就是eclipse的加强版啊!对eclipse增加了很多插件,很方便我们使用.我们回来在自己的电脑上也安装了平台,不过也遇到了点小麻烦.以下就是安装经验. 这款软件讲道理正版是收费的,我们当然不会去买.网上也有很多破解版,但是很多都带有各种小广告植入软件什么的,在这里,我强烈推荐在zol上面下载破解版的,很纯净,安装也很方便,而且不用自己破

小学期学习记录(一)

小学期的第一天,安装软件,配置环境. 小学期的第二天,跟着老师抄代码. 小学期的第三天,代码抄错了,环境有问题了. 小学期的第四天,努力改正ing. 小学期的第五天,失败. 小学期的第六天,放假.

小程序学习(二)

今天继续学习小程序,上次讲到小程序中的视图容器,接下来要说的是关于第二大部分:基础内容 基础内容中也包括了三部分:1.icon 2.text 3.progress icon:图标 属性名 类型 默认值 说明 type String   icon的类型,有效值:success, success_no_circle, info, warn, waiting, cancel, download, search, clear size Number 23 icon的大小,单位px color Color

小学期实践项目总结与暑假学习总结

大二下学期小学期实践我组按要求完成了网站的基本前后台搭建和数据库调用,并增添了部分新功能. 必要功能:1.检验已有帐号,登录功能 2.新闻信息的浏览 3.管理员对新闻的增删改查 4.分页功能 5.数据比对 附加功能: 1.公证申请 1.DAO public void addNews(String title,String contents ,String author,int types,int istop,String pic){ try{ con=MySqlDB.getConnection(

第六阶段 小学期(二)——软件工程①

软工小学期我们不同以往学习的用eclipse进行Java程序的后台编程,我们学习了新的软件 myeclipse进行前台编程 前三天我们进行了软件安装.环境设置以及后台程序设置,我们的目标是写出一个客户信息界面并与数据库进行连接 因为软件大家都是第一次接触不太熟悉,过程中遇到了许多问题,但是大家通过老师的帮助和利用网络自己查找解决了大部分问题 现在这个阶段大家已经学习完成了大部分后台编程,即将学习对前台进行编程 我们会继续坚持,克服过程中遇到的种种问题

小学期坑——单片机——铂电阻温度计

我真是给学院的小学期跪了!!! 一周6天扔在实验室!大四了还让不让人好好考研啊!!!这些玩意儿大二大三去搞就行了啊!!! 吐槽完毕.活还是要干的,砖还是要搬的.比起奇葩的电气传动电子的东西真是友好. 队友并没有黄金右手,抽到的题目好魔性. 铂电阻测温度大概是搞个电桥出来当温度传感器通过测电压来搞吧,然而并不会电桥就扔给擅长模电的机智的队友了. 默默揽下码代码的工作.然而我讨厌单片机编程 凸 凸 说得好像会一样== 上位机要求可设置温度上下界,可采集温度并画出波形. 下位机要求能测温,(AD转换)

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

CSS学习(二)—浮动

一. 定义 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 解决的问题:"如何在一行显示多个div元素" 二. 浮动与不浮动区别 图1 图2 区别 不浮动的框是由上往下独占一行的,而浮动的框是紧靠着排列的.图2中d1.d2.d3都是向左浮动的,所以先把d1放在紧靠着父框摆放,然后把d2紧靠着d1摆放,最后d3紧靠着d2摆放.向右浮动亦与之类似. 语法: float : none | left |right 参数: none : 对象不浮动 left :

ExtJs4学习(二):Dom文档操作

现在主流的JS框架要数ExtJs和JQuery应用的比较广泛.JQuery属于轻量级的,一般做网站应用比较常见,可见块头小的优势.ExtJs比较庞大,它除了对基本的JS语法和HTML DOM操作方式的封装之外,还提供了一套强大的UI库.在企业级B/S解决方案应用上独占优势.就单说它在原生JS的封装,DOM操作方式封装方面也足以藐视JQuery.下面我就通过对比API,体现两种框架的异曲同工之处.我们已JQuery API为主线,来看看ExtJs是否有替代的方案. 注意一点:ExtJs4.0相对上