zoukankan      html  css  js  c++  java
  • CRUD操作

    public void insertStudent(Student student)
    {
    SqlSession session=SqlSesionUtil.getSession();
    session.insert("insertStudent","Student");
    session.submit();
    SqlSesionUtil.close(session);

    <insert id="Student">
    insert into Student(name,age) values(#{name},#{age});

    <seleceKey keyColumn="id" keyProperty="id" order="AFTER" resultType="Long">
    select@@indentity
    <seleceKey>
    <insert>
    }
    public void deleteStudentById(id){
    {
    SqlSession session=SqlSesionUtil.getSession();
    session.delete("deleteStudentById","id");
    session.submit();
    SqlSesionUtil.close(session);

    <delete id="deleteStudentById">
    delete from Student where id=#{xxx};
    <delete>
    }
    public Student selectStudentById(Long id)
    {
    SqlSession session=SqlSesionUtil.getSession();
    Student student=session.selectOne("id");
    SqlSesionUtil.close(session);
    return Student;

    <select id="selectStudentById" resultType="student">
    select * from Studen where id=#{xxx};
    <select>
    }

    public list<Student> selectStudentAll(Student student)
    {
    SqlSession session=SqlSessionUtil.getSession();
    List list=session.selectStudentAll();
    return list;

    <selsect id="selectStudentAll" resultType="student">
    select * from student;
    <select>

    }

    public Map<String,Student> selectStudentAll(Student student)
    {
    SqlSession session=SqlSessionUtil.getSession();
    Map<String,Student> map=session.selectMap("selectStudentAll","name");
    SqlSessionUtil.close(session);
    return map;

    <selsect id="selectStudentAll" resultType="student">
    select * from student;
    <select>

    }

    $和#的区别
    理论上的区别:
    $是字符拼接 ,#是预编译
    使用上的区别:
    ${对象中的属性名} 如果参数对象是基本数据格式那么这个必须填写value
    #{对象中的属性名/任意} 如果参数对象是基本数据个那么这里可以填写任意内容
    性能以及安全区别:
    #使用预编译 因此执行速度快 可以防止SQL的注入安全性高
    $使用字符串的拼接 因此执行速度慢 ,容易导致SQL注入攻击安全性低


    <select id="selectStudentlikeName1" resultType="student">
    select * from student where name like '%'#{name} '%';
    <select>

    <select id="selectStudentlikeName2" resultType="student">
    select * from student where name like cancat('%',#{name}, '%');
    <select>

    <select id="selectStudentlikeName3" resultType="student">
    select * from student where name like '$%{value}%';
    <select>

  • 相关阅读:
    学习笔记1:性能问题在于你想不到的任何地方!
    React Native控件之PullToRefreshViewAndroid下拉刷新组件解说(20)
    CSDN-markdown编辑器之导入导出文档功能
    无名管道与有名管道通讯编程
    LeetCode Remove Nth Node From End of List
    libpcap出错信息调试函数pcap_geterr, pcap_perror
    工作流学习——Activiti流程实例、任务管理四步曲
    B
    oracle学习笔记 oracle软件安装和数据库的创建
    路由器逆向分析------MIPS系统网络的配置(QEMU)
  • 原文地址:https://www.cnblogs.com/sunyuhuan/p/8630306.html
Copyright © 2011-2022 走看看