发表于: 2017-11-22 23:42:43

2 698


更多内容可以访问一零的个人站点——一零’s二三事

今日完成的任务

利用mybatis实现了对数据库的增删改查。

1..JAVA文件目录结构

2.Config.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>

<!-- 定义别名 -->

<typeAliases>

<typeAlias alias="Job" type="pers.learnmybatis.po.Job"/>

</typeAliases>

<environments default="development">

<environment id="development">

<!-- 采用jdbc事务管理 -->

<transactionManager type="JDBC"/>

<!-- 配置数据库连接 -->

<dataSource type="POOLED">

<property name="driver" value="com.mysql.jdbc.Driver"/>

<property name="url" value="jdbc:mysql://localhost:3306/ylxjava?useUnicode=true&amp;characterEncoding=utf8"/>

<property name="username" value="root"/>

<property name="password" value=""/>

</dataSource>

</environment>

</environments>

<!-- 定义映射器 -->

<mappers>

<mapper resource="pers/learnmybatis/mapper/jobInter.xml"/>

</mappers>

</configuration>

 3.JobInter.java

package pers.learnmybatis.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Select;

import pers.learnmybatis.po.Job;

public interface JobInter {

     public List<Job> getJobList();

     public void insertJob(Job job);

     public void updateJob(Job job);

     public void deleteJob(String jname);

     public Job getJob(String jname);

}

4.JobInter.xml

<?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="pers.learnmybatis.mapper.JobInter">

<select id="getJob" resultType="pers.learnmybatis.po.Job">

select * from yl_job where jname = #{jname}

</select>

<insert id="insertJob" parameterType="Job">

   insert into yl_job (jname,number,create_at,update_at)

   values(#{jname},#{number},#{create_at},#{update_at})

</insert>

<update id="updateJob" parameterType="Job">

update yl_job set number=#{number},update_at=#{update_at} 

where jid = #{jid}

</update>

<delete id="deleteJob" parameterType="long">

delete from yl_job where jname = #{jname}

</delete>

<select id="getJobList" resultType="pers.learnmybatis.po.Job">

select * from yl_job

</select>

</mapper>

5.Job.java

package pers.learnmybatis.po;

public class Job {

private long jid;

     private String jname;

     private int number;

     private long create_at;

     private long update_at;

     

     public long getJid(){

    return jid;

     }

     public void setJid(long jid){

    this.jid = jid;

     } 

     public String getJname(){

    return jname;

     }

     public void setJname(String jname){

    this.jname = jname;

     }

     public int getNumber(){

    return number;

     }

     public void setNumber(int number){

    this.number = number;

     }

     public long getCreate_at(){

    return create_at;

     }

     public void setCreate_at(long create_at){

    this.create_at = create_at;

     }

     public long getUpdate_at(){

    return update_at;

     }

     public void setUpdate_at(long update_at){

    this.update_at = update_at;

     }

}

6.main.java

package pers.learnmybatis.main;

import java.io.Reader;

import java.text.MessageFormat;

import java.util.List;

import java.util.Date;

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 pers.learnmybatis.mapper.*;

import pers.learnmybatis.po.Job;

public class main {

public static SqlSessionFactory sqlSessionFactory;

public static Reader reader;

static{

try{

reader = Resources.getResourceAsReader("config/Config.xml");    /*引入配置文件*/

   sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);

}catch(Exception e){

e.printStackTrace();

}

}

public static SqlSessionFactory getSession(){

return sqlSessionFactory;

}

public static void main(String[] args){

SqlSession session = sqlSessionFactory.openSession();

try{

// GetJobList();

// InsertJobTest();

// UpdateJobTest();

DeleteJobTest();

// GetJobTest();

}finally{

session.close();

}

}

//获取job表信息

public static void GetJobList(){

try{

SqlSession session = sqlSessionFactory.openSession();

JobInter jobinter = session.getMapper(JobInter.class);

//输出Job信息

System.out.println("查询开始……");

printJobs(jobinter.getJobList());

System.out.println("查询结束……");

}catch(Exception e){

e.printStackTrace();

}

}

//插入数据

public static void InsertJobTest(){

long time = new Date().getTime();

try{

SqlSession session = sqlSessionFactory.openSession();

JobInter jobinter = session.getMapper(JobInter.class);

System.out.println("插入数据开始……");

//执行插入

Job job = new Job();

job.setJname("运维工程师");

job.setNumber(5);

job.setCreate_at(time);

job.setUpdate_at(time);

jobinter.insertJob(job);

//提交事务

session.commit();

System.out.println("插入完成!");

GetJobTest();

}catch(Exception e){

e.printStackTrace();

}

}

//更新数据

public static void UpdateJobTest(){

long time = new Date().getTime();

try{

SqlSession session = sqlSessionFactory.openSession();

JobInter jobinter = session.getMapper(JobInter.class);

System.out.println("开始更新数据……");

//执行更新

Job job = jobinter.getJob("运维开发工程师");

job.setNumber(13);

job.setUpdate_at(time);

jobinter.updateJob(job);

//提交事务

session.commit();

System.out.println("更新完成……");

printJobs(jobinter.getJobList());

}catch(Exception e){

e.printStackTrace();

}

}

    //删除数据

public static void DeleteJobTest(){

try{

SqlSession session = sqlSessionFactory.openSession();

JobInter jobinter = session.getMapper(JobInter.class);

System.out.println("正在删除……");

//执行删除

jobinter.deleteJob("JAVA开发工程师");

session.commit();

System.out.println("删除完成……");

printJobs(jobinter.getJobList());

}catch(Exception e){

e.printStackTrace();

}

}

//获取指定职位的相关信息

public static void GetJobTest(){

SqlSession session = sqlSessionFactory.openSession();

JobInter jobinter = session.getMapper(JobInter.class);

try{

System.out.println("查询开始……");

printJob(jobinter.getJob("运维开发工程师"));

System.out.println("查询结束……");

}catch(Exception e){

e.printStackTrace();

}

}

//输出信息到控制台

public static void printJobs(final List<Job> jobs){

int count = 0;

for(Job job : jobs){

System.out.println(MessageFormat.format("--------------Job[{0}]------------------",++count));

System.out.println("Job编号:"+job.getJid());

System.out.println("Job名称:"+job.getJname());

System.out.println("Job数目:"+job.getNumber());

System.out.println("发布时间:"+job.getCreate_at());

System.out.println("更新时间:"+job.getUpdate_at());

}

}

public static void printJob(Job job){

   System.out.println("----------------------------------");

System.out.println("Job编号:"+job.getJid());

System.out.println("Job名称:"+job.getJname());

System.out.println("Job数目:"+job.getNumber());

System.out.println("发布时间:"+job.getCreate_at());

System.out.println("更新时间:"+job.getUpdate_at());

}

}

明日计划的任务

1.学习junit

遇到的问题

1.插入数据库的中文字符出现???


解决办法,利用JDBC连接数据库时在最后加入以下代码(注意与传统的JDBC连接代码不同的是&改为&amp;):

ylxjava?useUnicode=true&amp;characterEncoding=utf8

 


收获

1.学习了如何通过mybatis实现对数据库的增删改查。

2.巩固了mybatis各个配置文件的格式。



返回列表 返回列表
评论

    分享到