maven项目接入mybatis for mysql

本文主要描述在ubuntu环境下 使用maven和idea构建mybatis项目,maven的配置相关见之前的博客

1 安装 mysql

ubuntu环境下mysql还是挺好安装的,teminal输入指令

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

三行指令执行完,mysql就装好了
然后输入

mysql -u root -p

然后输入你的mysql root 帐号密码就能登进去了。

为了数据安全,需要创建一个非root帐号 ,用来实际操作数据库
输入如下

CREATE USER 'lei'@'localhost' IDENTIFIED BY '123456'; 

意思就是创建一个 用户 帐号为 lei,只允许在本机登录,密码为123456

然后我们可以建立一个数据库

create database mystudy_db;
use mystudy_db;

这样就创建了一个名为mystudy_db的数据库,并且使用它
然后授予lei用户若干权限

grant select,update,insert on mystudy_db.* to lei@"localhost" identified by "123456";

再在库中加入一张表,表名为t_student,只是测试用就简单一点,一个主键id,一个名字name

create table  if not exists t_student  (id bigint primary key auto_increment,name varchar(25)  not null)engine=innodb auto_increment=1000 default charset = utf8;

执行如上指令建表成功,并且效果如图

maven项目接入mybatis for mysql_第1张图片
建表成功

然后我们插入几条数据用于测试

mysql> insert into t_student (name) values('张老三')
mysql> insert into t_student (name) values('王五')
mysql> insert into t_student (name) values('王6')

数据有了就开始玩mybais了

2 使用idea maven 配置mybatis

新建一个maven项目,因为后面是要做服务器的,所以建一个maven webapp 项目 ,具体操作见之前的博客
关键是依赖和xml配置文件的编写
项目自动构建好了以后,编辑pom 加入如下内容


  。。。。。。。。
    
       。。。。。
        
            org.mybatis
            mybatis
            3.4.2
        
        
            log4j
            log4j
            1.2.17
            true
        
        
            mysql
            mysql-connector-java
            5.1.25
        
    
    
        leitestaid
        
            
                src/main/java
                
                    **/*.xml
                    **/*.properties
                
                true
            
        
    


dependency里面加入了 mybaits ,jdbc ,和 log4j,并且标记resources意思是编译输出会保留xml和properties文件,即保留配置文件,这点是非常重要的
然后在 java根目录 src/main/java下加入log4j.properties,这是控制mybatis输出日志的还是有点用的

#
#    Copyright 2009-2016 the original author or authors.
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#       http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.
#

### Global logging configuration
log4j.rootLogger=DEBUG, stdout

### Uncomment for MyBatis logging
log4j.logger.org.apache.ibatis=DEBUG

log4j.logger.org.apache.ibatis.session.AutoMappingUnknownColumnBehavior=WARN, lastEventSavedAppender

### Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

log4j.appender.lastEventSavedAppender=org.apache.ibatis.session.AutoMappingUnknownColumnBehaviorTest$LastEventSavedAppender

下一步是引入xml文件,就是数据库的映射关系
在java的任意包下写这个配置文件 取名为MapperConfig.xml









  

  




  
    
      
        
      
      
        
        
        
        
      
    
  
  


  
    

  



然后编辑数据库映射文件 取名为AuthorMapper.xml








    



这样xm文件也配好了
我们的model类student 如下

package com.lei.model;

import org.apache.ibatis.annotations.MapKey;

/**
 * Created by ylei on 17-3-31.
 */
public class Student {

    long id;
    String name;

    public long getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

这样开始测试吧,代码如下

package com.lei.test;

import com.lei.model.Student;
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 java.io.IOException;
import java.io.Reader;
import java.util.List;

/**
 * Created by ylei on 17-3-31.
 */
public class FirstMyBatis {

    public static void main(String[]args){
        Reader reader=null;
        SqlSessionFactory ssf=null;
        SqlSession session=null;
        try {
            reader= Resources.getResourceAsReader("com/lei/mapper/MapperConfig.xml");
            SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();
            ssf= sqlSessionFactoryBuilder.build(reader);
            session=ssf.openSession();
           List students= session.selectList("getAllStudent");
            for (Student student : students) {
                System.out.println("学生 id"+student.getId()+"\t 名字:"+student.getName());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            session.close();
        }
    }
}

run一下
控制台打印如图 ,可能log4j会输出一些错误,但是不影响主流程

maven项目接入mybatis for mysql_第2张图片
idea输出成功

你可能感兴趣的:(maven项目接入mybatis for mysql)