MyBatis学习笔记(二)

sqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration  
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
  "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://127.0.0.1:3306/xxxx" />
                <property name="username" value="root" />
                <property name="password" value="root" />

            </dataSource>
        </environment>
    </environments>
    <!-- 加载mapper映射文件  -->
    <!-- mapping 文件路径配置 -->  
    <mappers>  
        <mapper resource="sqlmap/user.xml" />  
    </mappers>  

</configuration>

mapper文件:user.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 1.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 命名空间,对sql进行分类化管理,隔离sql -->
<mapper namespace="test">

<!--需求:: 通过id查询user -->
<!--  在映射文件中配置sql-->
<!-- id 用于标识映射文件的表示,成为statement的id -->
<!-- parameterType:制定输入参数的类型、
    #{}:占位符
    resultType:指定输出结果的所映射的java对象,对应的pojo全路径
    #{uid}:其中的uid表示啊呼入的参数,参数名称就是uid,,如果是普通java类型,可以任意名称
 -->
<select id="findUserById" parameterType="int" resultType="com.lear.pojo.User">
select * from user where uid=#{uid}
</select>

<!--${}:表示拼接sql串 
使用${}拼接,可能会引起sql注入
${}里面只能是value
 -->
<select id="findUserByName" parameterType="java.lang.String" resultType="com.lear.pojo.User">
select * from user where uname like '%${value}%'
</select>

<!-- 需求:添加用户
 parameterType:指定输入参数的时候使用的是pojo
#{}:中指定pojo属性名称
主键自自增 
 <selectKey keyProperty="uid" order="AFTER" resultType="java.lang.Integer">
 SELECT LAST_INSERT_ID()
 </selectKey>

主键非自增 
 <selectKey keyProperty="uid" order="BEFORE" resultType="java.lang.Integer">
 SELECT uuid()
 </selectKey> -->


<insert id="insertUser" parameterType="com.lear.pojo.User" >
insert into user (uid,upassword,uname,usex,utel,uemail,ucredit) value(#{uid},#{upassword},#{uname},#{usex},#{utel},#{uemail},#{ucredit})
</insert>

<delete id="deleteUser" parameterType="java.lang.Integer">
delete from user where uid=#{uid}
</delete>

<!-- #{uid} 从user中取出来的user id -->
<update id="updateUser" parameterType="com.lear.pojo.User">
update user set uname=#{uname} where uid=#{uid}
</update>
</mapper>

User.java

public class User {
    private int uid;
    private String upassword;
    private String  uname;
    private String usex;
    private String utel;
    private String uemail;

    public String getUcredit() {
        return ucredit;
    }
    public void setUcredit(String ucredit) {
        this.ucredit = ucredit;
    }
    private String ucredit;
    public int getUid() {
        return uid;
    }
    public void setUid(int uid) {
        this.uid = uid;
    }
    public String getUpassword() {
        return upassword;
    }
    public void setUpassword(String upassword) {
        this.upassword = upassword;
    }
    public String getUname() {
        return uname;
    }
    public void setUname(String uname) {
        this.uname = uname;
    }
    public String getUsex() {
        return usex;
    }
    public void setUsex(String usex) {
        this.usex = usex;
    }
    public String getUtel() {
        return utel;
    }
    public void setUtel(String utel) {
        this.utel = utel;
    }
    public String getUemail() {
        return uemail;
    }
    public void setUemail(String uemail) {
        this.uemail = uemail;
    }
    @Override
    public String toString() {
        return "User [uid=" + uid + ", upassword=" + upassword + ", uname=" + uname + ", usex=" + usex + ", utel="
                + utel + ", uemail=" + uemail + ", ucredit=" + ucredit + "]";
    }

}

test:

@Test
    public void findUserById() throws IOException{
        SqlSession sqlSession =null;
        try {
            //mybatis配置文件
            String resource= "sqlMapConfig.xml";
            //得到配置文件流
            InputStream inputStream = Resources.getResourceAsStream(resource);
            //创建会化工厂
            SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
            //通过工厂得到sqlsession
            sqlSession = sqlSessionFactory.openSession();
            //通过sqlsession操作数据库
            //第一个参数:映射文件中的statement的id = namespace.+statement的id
            //第二个参数:指定和映射文件中所匹配的parameterType的类型的参数
            User user = sqlSession.selectOne("test.findUserById", 123);
            System.out.println(user);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

注:如有错误,欢迎指正,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 内容概要 《计算机试卷1》是一份综合性的计算机基础和应用测试卷,涵盖了计算机硬件、软件、操作系统、网络、多媒体技术等多个领域的知识点。试卷包括单选题和操作应用两大类,单选题部分测试学生对计算机基础知识的掌握,操作应用部分则评估学生对计算机应用软件的实际操作能力。 ### 适用人群 本试卷适用于: - 计算机专业或信息技术相关专业的学生,用于课程学习或考试复习。 - 准备计算机等级考试或职业资格认证的人士,作为实战演练材料。 - 对计算机操作有兴趣的自学者,用于提升个人计算机应用技能。 - 计算机基础教育工作者,作为教学资源或出题参考。 ### 使用场景及目标 1. **学习评估**:作为学校或教育机构对学生计算机基础知识和应用技能的评估工具。 2. **自学测试**:供个人自学者检验自己对计算机知识的掌握程度和操作熟练度。 3. **职业发展**:帮助职场人士通过实际操作练习,提升计算机应用能力,增强工作竞争力。 4. **教学资源**:教师可以用于课堂教学,作为教学内容的补充或学生的课后练习。 5. **竞赛准备**:适合准备计算机相关竞赛的学生,作为强化训练和技能检测的材料。 试卷的目标是通过系统性的题目设计,帮助学生全面复习和巩固计算机基础知识,同时通过实际操作题目,提高学生解决实际问题的能力。通过本试卷的学习与练习,学生将能够更加深入地理解计算机的工作原理,掌握常用软件的使用方法,为未来的学术或职业生涯打下坚实的基础。
### 内容概要 这份《计算机试卷1》包含多个部分,主要覆盖了计算机基础知识、操作系统应用、文字处理、电子表格、演示文稿制作、互联网应用以及计算机多媒体技术。试卷以单选题开始,涉及计算机历史、基本概念、硬件组成、软件系统、网络协议等。接着是操作应用部分,要求考生在给定的软件环境中完成一系列具体的计算机操作任务。 ### 适用人群 本试卷适用于计算机科学与技术、信息技术相关专业的学生,以及准备计算机水平考试或职业资格认证的人士。它适合那些希望检验和提升自己计算机操作能力的学习者,也适用于教育工作者作为教学评估工具。 ### 使用场景及目标 1. **学习评估**:作为教育机构的课程评估工具,帮助教师了解学生对计算机基础知识的掌握程度。 2. **自学检验**:供个人自学者检验自己的计算机操作技能和理论知识,为进一步学习提供方向。 3. **职业发展**:为职场人士提供计算机技能的自我提升途径,增强其在信息时代的竞争力。 4. **考试准备**:为准备计算机相关考试的考生提供实战演练的机会,加强考试自信。 5. **教学资源**:教师可以将其作为教学资源,设计课程和实验,提高教学效果。 试卷的目标是通过理论知识的测试和实践技能的操作,全面提升考生的计算机应用能力。考生应掌握从基础的计算机组成原理到复杂的数据处理、演示文稿制作、网络应用以及多媒体技术处理等多方面技能。通过本试卷的学习与练习,考生将能够更加熟练地使用计算机解决实际问题,为未来的学术或职业生涯打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值