Mysql and java in ubuntu

The Coded One

Assuming that you already have MySQL installed, the next step is to install the connector driver. You can do this easily on the CLI by using the following command:

sudo apt-get install libmysql-java

The next step is to make sure that the classpath is set. You can have this set automatically by adding this command to you bashrc file.

If you want to set this for all users, you should modify the /etc/environment instead.

For those using Eclipse, you can also do this by going through the following steps:

  1. Select Project Properties > Java Build Path
  2. Select Libries tab
  3. Click Add External Jars
  4. Choose the jar file, in this case mysql-connector-java.java

Once you’re done, you can test the connection using the following snippet:

import java.sql.Connection; import java.sql.DriverManager; class JDBCTest < private static final String url = "jdbc:mysql://localhost"; private static final String user = "username"; private static final String password = "password"; public static void main(String args[]) < try < Connection con = DriverManager.getConnection(url, user, password); System.out.println("Success"); >catch (Exception e) < e.printStackTrace(); >> >

Share this:

Like this:

26 Responses

Subscribe to comments with RSS.

could you show me the way to set this class path in steps:
export CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java.jar

Your code was giving me an SQL exception.
This is what worked for me.. import java.sql.Connection;
import java.sql.DriverManager; class JDBCTest < private static final String url = “jdbc:mysql://localhost”; private static final String user = “root”; private static final String password = “vision$23”; public static void main(String args[]) try Class.forName(“com.mysql.jdbc.Driver”);
Connection con = DriverManager.getConnection(url, user, password);
System.out.println(“Success”); > catch (Exception e) e.printStackTrace();
>
>
>

im also getting d following exception after trying the code : java.sql.SQLException: Access denied for user ‘root’@’localhost’ (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:931)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4031)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1296)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2338)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2371)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:794)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:407)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:378)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:620)
at java.sql.DriverManager.getConnection(DriverManager.java:200)
at JDBCTest.main(JDBCTest.java:14) i changed d username and password.. it didnt work!

Источник

Introduction

This document explains how to set up Java applications to communicate with the MySQL Database. This can be used either in Java development, or applications which use JDBC such as OpenOffice.Org. See Using MySQL, JDBC and OpenOffice for more information.

This document was written originally for 5.10, but has been updated for 6.06. Changes required for 5.10 are shown in italics

It has also been checked against 6.10 (Edgy Eft) and 7.04 (Feisty Fawn), which should be installed as for 6.06

Читайте также:  Create new file in folder java

Installation

Install mysql client, server and the jdbc connector, either via synaptic or by using the following

sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install libmysql-java

On 5.10 you may need select «No configuration» for postfix if it is installed.

Set up MySQL default password

Set up the password for the root user as ‘root’ or whatever you want. The last entry is the password

mysqladmin -u root password root

Check you can connect to mysql

then enter the password you just set and press return again. In this case it would be «root».

Create SQL Databases and tables

Create databases and tables or whatever, so you have some data to work with. You can disconnect and use mysql-query-browser for this if you wish. For the sample code below just enter

create database emotherearth;

User creation and privileges

Create a user with access to that table. Replace the items in square brackets by the database name, and the chosen user and password. Don’t type in the square brackets !

grant all privileges on [database].* to [user]@localhost identified by "[password]"; flush privileges;

Note: Ubuntu 5.10 requires localhost.localdomain

This is required because when you connect using «mysql -u root -p» it connects directly to the Sql Server. The «grant» line creates access via 127.0.0.1 (localhost). This is no longer an issue on 6.10.

This will work only for the user you have just «granted», not for root. Counter-intuitively, the ‘default’ server and localhost/127.0.0.1 aren’t the same thing

Eclipse

For those who are using Eclipse, you will likely to have a ‘Class Not Found’ exception. To fix this, go to: Project, click Properties, select Java Build Path, and choose the Libraries tab. Then select ‘Add External JARs’, and find ‘/usr/share/java/mysql-connector-java.jar’.

Setting up the user to use JDBC

Add these two lines to /home/[user]/.bashrc. I am running Java 5 which doesn’t require the current directory to be on the Classpath ; I *think* Java 2 does, but I’m not going back to check it In that case you may need to have $CLASSPATH. /user/share/java/mysql.jar

CLASSPATH=$CLASSPATH:/usr/share/java/mysql.jar export CLASSPATH

Alternatively, you can set it for all users, by editing /etc/environment (use sudo — sudo vi /etc/environment)

CLASSPATH=".:/usr/share/java/mysql.jar"

Log out and Log in again. (If you only edited /home/[user]/.bashrc you don’t need to log out/in, only execute in a terminal «$source .bashrc» in your home dir). Start up a terminal and type:

It should print out something like «:/usr/share/java/mysql.jar»

Testing in Java

It should now work. Here is some typical code (clearing up removed for simplicity)

import java.sql.*; import java.util.Properties; public class DBDemo // The JDBC Connector Class. private static final String dbClassName = "com.mysql.jdbc.Driver"; // Connection string. emotherearth is the database the program // is connecting to. You can include user and password after this // by adding (say) ?user=paulr&password=paulr. Not recommended! private static final String CONNECTION = "jdbc:mysql://127.0.0.1/emotherearth"; public static void main(String[] args) throws ClassNotFoundException,SQLException System.out.println(dbClassName); // Class.forName(xxx) loads the jdbc classes and // creates a drivermanager class factory Class.forName(dbClassName); // Properties for user and password. Here the user and password are both 'paulr' Properties p = new Properties(); p.put("user","paulr"); p.put("password","paulr"); // Now try to connect Connection c = DriverManager.getConnection(CONNECTION,p); System.out.println("It works !"); c.close(); > >

JDBCAndMySQL (последним исправлял пользователь 149 2010-04-20 13:28:19)

Читайте также:  Java interface static classes

The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details

Источник

learning of mysql with java in ubuntu

First things first you’ll need to setup your MySQL. Install the mysql server and client:

sudo apt-get install mysql-server mysql-client 

(This will install both in the most up to date version within your repositories.)

You will be prompted for a root password. Set this to something secure; the root account can access and change all databases.

You then need to login and setup the server:

You will be prompted for your password and then connected to the server. You need to setup a database (a database contains tables):

Some syntax to note in MySQL is that it is case insensitive (you can just write out quickly in lower case as I do, though for clarity in code it’s wise to write in capitals with statements) and also you must end every statement with a semi colon.

Now you want to add a user and set permissions to allow the user to edit everything on this database (docs):

CREATE USER "[username]"@"[host]" IDENTIFIED BY "[password]"; GRANT ALL PRIVILEGES ON * TO "[username]"@"[host]"; 

The username is obviously the desired username for the user which will access this database from your java program. The host in both cases is the host which you access from, use % to be unspecified. The password will be converted to a hash and stored to identify the user. As far as I know there isn’t much risk in an insecure password here since this user can only access and modify tables on this localhost.

Now that this user is created exit with exit or quit commands, and login as this user.

quit mysql -u [username] -p USE [databasename]; 

Now you’ll want to setup your table, for this you’ll want to have a good read on SQL, w3schools do a great tutorial

Code with JDBC

Now for the fun part — the Java code.

Setting up the project is fairly simple, open up a new project as you’d normally do. Add the mysql connector jar to the project files and add it to the build jars (in eclipse put the jar in your folder within the workspace, right click on the project, properties, then select «Java Build path», add jars or add externel jars and navigate to the MySQL connector jar.

Читайте также:  Php database object framework

I wont describe using the JDBC in depth since the tutorial on the MySQL development site is fairly comprehensive.

These are the basics though:

private Connection openConnection(String url, String user, String password) < Properties properties = new Properties(); properties.put("user", user); properties.put("password", password); properties.put("characterEncoding", "UTF-8"); properties.put("useUnicode", "true"); Connection c; try < //Class.forName("com.mysql.jdbc.Driver").newInstance(); c = DriverManager.getConnection(url, properties); >catch (Exception e) < e.printStackTrace(); return null; >return c; > . Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection sqlCon = openSQLCon("jdbc:mysql://[mysqlhost]:3306/[databasename]", "[username]", "[password]"); Statement st = sqlCon.createStatement(); st.execute("SQL STATEMENT"); sqlCon.close(); 

This will connect to the MySQL database given previously mentioned values (username, database, password, and the host will be the host machine of the MySQL server. Also to note that 3306 is just the default port for MySQL and so might be different if you set it so.) It will then execute the «SQL STATEMENT» and close the database. You will need to catch exceptions, and of course handle results sets. You will need to import several thing from «java.sql», and also «java.util.Properties». Information on all of this is in the JDBC docs.

You should spend some time reading the tutorials with JDBC and MySQL, and play around with them. Most importantly have fun!

Источник

How to setup MySQL with java using ubuntu in netbeans?

Now let’s create a database called java, and a table called javaTable for this example, will just store the first name, last name and set a primary key to the id.

User authentication

For best practice let’s create a user, that will only be able to interact with the java database and give all privileges.

Now that we have a new user let’s log in with those credentials

Now let’s make sure that the database and tables are viewable

Setting up connection on Mac OSX Maverick 10.9 with netbeans

Now that the virtual server is up and running let’s setup netbeans with a new project and call it javaCRUD

Java CRUD in netbeans

Now right click on the project and go to the properties then libraries

Screen Shot 2013-11-04 at 1.57.26 AM

Now click on add library select MySQL JDBC Driver click on add to library, click on ok

Screen Shot 2013-11-04 at 1.57.41 AM

Now that it’s setup lets write some code

Having network issues?
Wrapping it up

Now at this point, compile and run the class.

I always had a passion for the field of STEM (Science, Technology, Engineering, and Math) and I knew I wanted to do something to make a difference in the world. I just didn’t know where to start. I was an immigrant in a new country, grew up in a tough environment, and wasn’t sure how… Read More

Источник

Оцените статью