栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

纯JAVA实现Mybatis管理derby数据库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

纯JAVA实现Mybatis管理derby数据库

目录

0.项目结构

1.导入jar包

 2.编写创建数据库业务代码

 3.创建实体类

4.配置mybatis配置文件mybatis-config.xml

5.编写mapper sql语句文件

6.编写实体类业务代码

7.测试


0.项目结构

1.导入jar包

 2.编写创建数据库业务代码

嵌入式数据库

package com.hmgzs.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;


public class EmbeddedDerbyTester {

    public static void main(String[] args) {
        String driver = "org.apache.derby.jdbc.EmbeddedDriver";//在derby.jar里面
        String dbName="D:/mydb/EmbeddedDB";
        String dbURL = "jdbc:derby:" + dbName + ";create=true;territory=zh_CN;user=root;password=root";// create=true表示当数据库不存在时就创建它
        try {
                Class.forName(driver);
                Connection conn = DriverManager.getConnection(dbURL);//启动嵌入式数据库
                Statement st = conn.createStatement();
                st.execute("create table users (id INT NOT NULL,username VARCHAr(20) NOT NULL,password VARCHAr(20),primary key(id))");//创建foo表
                st.executeUpdate("insert into users(id,username,password) values (1,'张三','123456')");//插入一条数据
                ResultSet rs = st.executeQuery("select * from users");//读取刚插入的数据
                while(rs.next()){
                    int id = rs.getInt(1);
                    String name = rs.getString(2);
                    String pass = rs.getString(3);
                    System.out.println("id="+id+";name="+name+";pass="+pass);
                }
        } catch(Exception e){
            e.printStackTrace();
    }
}

}

网络数据库

package com.hmgzs.db;

import org.apache.derby.drda.NetworkServerControl;

import java.io.PrintWriter;
import java.sql.DriverManager;


public class NetworkServerDerbyTester {

    public static void main(String[] args) {
        String driver = "org.apache.derby.jdbc.ClientDriver";//在derbyclient.jar里面
        String dbName="NetworkDB";
        String connectionURL = "jdbc:derby://localhost:1527/" + dbName + ";create=true";
        try {

            NetworkServerControl derbyServer = new NetworkServerControl();//NetworkServerControl类在derbynet.jar里面
            PrintWriter pw = new PrintWriter(System.out);//用系统输出作为Derby数据库的输出
            derbyServer.start(pw);//启动Derby服务器
            Class.forName(driver);
            DriverManager.getConnection(connectionURL);
            //do something
            derbyServer.shutdown();//关闭Derby服务器
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

 3.创建实体类
package com.hmgzs.entity;



public class User {
    int id;
    String username;
    String password;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User[id = " + id + ", username = " + username +", password =  "+
                password + "]";
    }

}

4.编写mybatis配置文件

mybatis-config.xml





    
        
            
            
                
                
                
                
            
        
    
    
        
    
MyAppSqlConfig.java
package com.hmgzs.config;

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

import java.io.InputStream;


public class MyAppSqlConfig {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {

            String resource = "com/hmgzs/mybatis/mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static SqlSessionFactory getSqlMapInstance() {
        return sqlSessionFactory;
    }

}

 

5.编写mapper sql语句文件

UserMapper.xml





    
        select * from users where id=#{id}

    

userMapper.java

package com.hmgzs.mapper;

import com.hmgzs.entity.User;


public interface UserMapper {
    public User getUserById(Integer id);
}

6.编写实体类业务代码

UserService.java

package com.hmgzs.service;

import com.hmgzs.config.MyAppSqlConfig;
import com.hmgzs.entity.User;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;


public class UserService implements UserServiceImpl {
    @Override
    public User getUserById(Integer id) {

        SqlSessionFactory sqlMapper = MyAppSqlConfig.getSqlMapInstance();
        SqlSession session = sqlMapper.openSession();
        User user;
        try {
            String statement = "com.hmgzs.mapper.UserMapper.getUserById";
            user = session.selectOne(statement,id);
            System.out.println(user);
        }
        finally {
            session.close();
        }
        return user;
    }
}

UserServiceImpl.java

package com.hmgzs.service;

import com.hmgzs.entity.User;


public interface UserServiceImpl {
    public User getUserById(Integer id);
}

7.测试
package com.hmgzs.test;

import com.hmgzs.service.UserService;

import java.io.IOException;


public class Main {

    public static void main(String[] args) throws IOException {


       

        UserService us = new UserService();
        System.out.println(us.getUserById(1));
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357873.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号