MyBatis练习

阅读教程实例,我们了解原理后可以自己模仿地写一个程序练练手。

1、创建表,然后手动导入数据

create table `four kings`
(
	id int primary key,
	name varchar(4) ,
	idea varchar(20)
)CHARSET=utf8;;

2、 写一个实体类,对应数据库的表

package Num;

public class fk {
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getIdea() {
        return idea;
    }

    public void setIdea(String idea) {
        this.idea = idea;
    }

    private int id;
    private String name;
    private String idea;

}

 3、src中配置文件,仔细看教程,对应好自己的文件名、文件位置以及数据库

<?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>
    <typeAliases>
      <package name="Num"/>
    </typeAliases>
    <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://localhost:3306/cart?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="Num/fkxml.xml"/>
    </mappers>
</configuration>

4、配置包中文件

<?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">
 
    <mapper namespace="Num">
        <select id="listfk" resultType="fk">
            select * from four kings     
        </select>
    </mapper>

5、测试类,注意这个测试直接在运行方式是直接java运行,不用在服务器上运行

package controller;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
 
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import Num.fk;
 
public class TestMybatis {
 
    public static void main(String[] args) throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=sqlSessionFactory.openSession();
         
        List<fk> fourkings =session.selectList("listfk");
        for (fk c : fourkings) {
            System.out.println(c.getName() + ' ' + c.getIdea());
        } 
    }
}

没问题

 接下来完成教材案例。还是老套路,大致阅读源代码拿到需求之后,我们自己来写一份代码(日志功能我就没有写了,主要是debug用的)。教材源代码是拿着id或者模糊查询来找用户,我们可以来写个拿着账号来找用户。

1、创建数据库,并插入数据

create table `data`
(
	name varchar(10) primary key,
	zhanghao varchar(20) not null UNIQUE,
	password varchar(20) not null UNIQUE,
	age int
)CHARSET=utf8;;

 2、写一个实体类,对应表中数据
 

package Num;

public class fk {
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getZhanghao() {
        return zhanghao;
    }

    public void setZhanghao(String zhanghao) {
        this.zhanghao = zhanghao;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    private String name;
    private String zhanghao;
    private String password;
    private int age;
}

3、src中配置文件。

<?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>
    <typeAliases>
      <package name="Num"/>
    </typeAliases>
    <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://localhost:3306/cart?characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="Num/fkxml.xml"/>
    </mappers>
</configuration>

4、配置包中文件,注意sql语句的书写,以及基本对象parameterType要与账号String相对应

<?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">
 
    <mapper namespace="Num">
        <select id="query" parameterType="String" resultType="fk">
            select * from `data` where zhanghao=#{zhanghao}
        </select>
    </mapper>

5、编写一个测试类,输入你的账号,系统会输出这个账号的相关信息

package controller;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Scanner;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import Num.fk;
 
public class TestMybatis {
 
    public static void main(String[] args) throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        SqlSession session=sqlSessionFactory.openSession();
        
        Scanner sc = new Scanner(System.in);
        String s = sc.nextLine();
        
        fk user = session.selectOne("query",s);
        System.out.println("姓名:" + user.getName());
        System.out.println("年龄:" + user.getAge());
        
        session.commit();
        session.close();
    }
}

结果没问题:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MyBatis是一种使用简便的Java持久化框架,可以很好地实现数据库访问和管理。为了更好地掌握MyBatis,狂神老师为我们准备了29道MyBatis练习题。这些题目分为基础篇和进阶篇两部分,主要内容包括MyBatis基础操作、插件、缓存、多表查询、动态SQL等内容。 这些习题不仅覆盖了MyBatis的各个方面,而且具有很高的实用性。通过做这些题目,可以对MyBatis的原理和应用有更清晰的认识,也可以发现和解决实际开发中遇到的问题。 狂神老师精心设计的这些练习题,难易程度逐步递增,让我们在掌握MyBatis的同时,也可以提高自己的编程能力。尤其对初学者来说,这些题目可以帮助加深对Java和MyBatis的理解,提高自己的编码能力和代码水平。 总之,狂神老师设计的MyBatis练习题深入浅出,能够帮助我们更好地掌握MyBatis,提高自己的编程能力。值得推荐给所有对MyBatis感兴趣的同学和开发者。 ### 回答2: Mybatis是一款轻量级的持久层框架,可以用于将Java对象映射到关系型数据库上。狂神老师在他的课程中发布了29道Mybatis练习题,让学习者可以通过练习深入掌握Mybatis的用法。 这29道练习题涵盖了Mybatis的最基本用法和高级应用,从最简单的CRUD到缓存、分页、一对多、多对多等高级查询,覆盖Mybatis的完整功能。通过练习这些题目,学习者可以深入理解Mybatis的核心机制和使用技巧,从而更好地应用Mybatis进行项目开发。 此外,狂神老师还为每个练习题提供了详细的讲解和示例代码,让学习者可以通过对比自己的答案,更好地理解Mybatis的实现原理,并通过实战方式学习。 总之,狂神老师发布的Mybatis练习题是一种非常优秀的学习资源,可以帮助学习者深入掌握Mybatis的用法,提升自己的技能水平。学习者可以通过反复练习,掌握Mybatis的精髓,更好地应用于实际项目中,实现高效的数据访问和管理。 ### 回答3: Mybatis是一款非常流行的Java持久化框架,它可以帮助我们更加便捷地实现对象关系映射。狂神在他的视频教程中,提供了29道Mybatis练习题,让我们能够更加深刻地理解Mybatis框架的使用方法和技巧。 这些练习题涵盖了Mybatis框架的各个方面,包括基本CRUD操作、高级查询、动态SQL、缓存机制等等。通过这29道练习题,我们可以逐步提高自己的Mybatis开发水平,掌握更多的技能和经验。 不仅如此, 狂神在这些练习题中还提供了详细的答案和解析,让我们可以更加深入地了解题目涉及到的知识点和细节。这不仅可以加深我们对Mybatis框架的理解,更可以帮助我们在实际项目中更加熟练高效地使用Mybatis。 总之,这29道Mybatis练习题是狂神教学的一个重要组成部分,对于想要提高自己的Mybatis开发技能的开发人员来说,非常有参考价值。我们可以通过认真练习和思考,不断掌握Mybatis框架的精髓,让自己的技能得到更大的提升。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值